diff --git a/tests/src/tracing/eventcounter/incrementingeventcounter.cs b/tests/src/tracing/eventcounter/incrementingeventcounter.cs index a50b859ecf1b..70fc29a722e8 100644 --- a/tests/src/tracing/eventcounter/incrementingeventcounter.cs +++ b/tests/src/tracing/eventcounter/incrementingeventcounter.cs @@ -15,6 +15,7 @@ namespace BasicEventSourceTests { public partial class TestIncrementingEventCounter { + private static ManualResetEvent evnt = new ManualResetEvent(false); [EventSource(Name = "SimpleEventSource")] private sealed class SimpleEventSource : EventSource @@ -37,17 +38,19 @@ internal sealed class SimpleEventListener : EventListener private readonly string _targetSourceName; private readonly EventLevel _level; private Dictionary args; - + private int _iter; + public int incrementSum; public string displayName; public string displayUnits; public string displayRateTimeScale; - public SimpleEventListener(string targetSourceName, EventLevel level) + public SimpleEventListener(string targetSourceName, EventLevel level, int iter) { // Store the arguments _targetSourceName = targetSourceName; _level = level; + _iter = iter; incrementSum = 0; displayName = ""; displayUnits = ""; @@ -91,20 +94,25 @@ protected override void OnEventWritten(EventWrittenEventArgs eventData) } } } + if (incrementSum == _iter) + { + evnt.Set(); + } } } } public static int Main(string[] args) { + int iter = 100; + // Create an EventListener. - using (SimpleEventListener myListener = new SimpleEventListener("SimpleEventSource", EventLevel.Verbose)) + using (SimpleEventListener myListener = new SimpleEventListener("SimpleEventSource", EventLevel.Verbose, iter)) { string displayName = "Mock Counter"; string displayUnits = "Count"; SimpleEventSource eventSource = new SimpleEventSource(displayName, displayUnits); - int iter = 100; // increment 100 times for (int i = 0; i < iter; i++) @@ -112,7 +120,7 @@ public static int Main(string[] args) eventSource.IncrementCounter(); } - Thread.Sleep(3000); + evnt.WaitOne(10000); if (iter != myListener.incrementSum) {