From cd0008cf931325c42051d4e30b1f08d6af766e8b Mon Sep 17 00:00:00 2001 From: Sung Yoon Whang Date: Fri, 1 Nov 2019 13:59:19 -0700 Subject: [PATCH 1/2] Make IncrementingEventCounter test less timing-sensitive --- .../eventcounter/incrementingeventcounter.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/tests/src/tracing/eventcounter/incrementingeventcounter.cs b/tests/src/tracing/eventcounter/incrementingeventcounter.cs index a50b859ecf1b..ab6a3f6dad6a 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 { + 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) { From b2c9aa3e245a05436cf9d353c1f970cff45bffa2 Mon Sep 17 00:00:00 2001 From: Sung Yoon Whang Date: Fri, 1 Nov 2019 15:11:19 -0700 Subject: [PATCH 2/2] Fix build --- tests/src/tracing/eventcounter/incrementingeventcounter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/src/tracing/eventcounter/incrementingeventcounter.cs b/tests/src/tracing/eventcounter/incrementingeventcounter.cs index ab6a3f6dad6a..70fc29a722e8 100644 --- a/tests/src/tracing/eventcounter/incrementingeventcounter.cs +++ b/tests/src/tracing/eventcounter/incrementingeventcounter.cs @@ -15,7 +15,7 @@ namespace BasicEventSourceTests { public partial class TestIncrementingEventCounter { - ManualResetEvent evnt = new ManualResetEvent(false); + private static ManualResetEvent evnt = new ManualResetEvent(false); [EventSource(Name = "SimpleEventSource")] private sealed class SimpleEventSource : EventSource @@ -94,7 +94,7 @@ protected override void OnEventWritten(EventWrittenEventArgs eventData) } } } - if (incrementSum == iter) + if (incrementSum == _iter) { evnt.Set(); }