2008-08-03 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sun, 3 Aug 2008 15:07:09 +0000 (15:07 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sun, 3 Aug 2008 15:07:09 +0000 (15:07 -0000)
* TimerTest.cs: Simplify the EnabledInElapsed test to prevent various races.

svn path=/trunk/mcs/; revision=109506

mcs/class/System/Test/System.Timers/ChangeLog
mcs/class/System/Test/System.Timers/TimerTest.cs

index b7424279faf2fe2b92c2be26c46eb03877a7c79c..ce1d2342d2e5bb5ebe0e312d5be00f7798686adb 100644 (file)
@@ -1,3 +1,7 @@
+2008-08-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * TimerTest.cs: Simplify the EnabledInElapsed test to prevent various races.
+
 2007-10-30  Robert Jordan  <robertj@gmx.net>
 
        * TimerTest.cs: Enable test for bug #82701/#325368.
index 6771742a42dca63ebc50752dfd22f3c570f16687..79643c9beca507e1a4a4320fee754d70eab98f8d 100644 (file)
@@ -46,7 +46,6 @@ namespace MonoTests.System.Timers
                public void SetUp ()
                {
                        timer = new Timer ();
-                       _elapsedCount = 0;
                }
 
                [TearDown]
@@ -208,20 +207,16 @@ namespace MonoTests.System.Timers
                [Test] // bug #325368
                public void EnabledInElapsed ()
                {
+                       _elapsedCount = 0;
+                       timer = new Timer (50);
                        timer.AutoReset = false;
                        timer.Elapsed += new ElapsedEventHandler (EnabledInElapsed_Elapsed);
                        timer.Start ();
 
-                       ST.Thread.Sleep (400);
+                       ST.Thread.Sleep (200);
                        timer.Stop ();
 
-                       if (_elapsedCount == -2)
-                               Assert.Fail ("#1 get_Enabled != false");
-
-                       if (_elapsedCount == -1)
-                               Assert.Fail ("#2 get_Enabled != true");
-
-                       Assert.IsTrue (_elapsedCount > 2,  "#3 loss of events");
+                       Assert.IsTrue (_elapsedCount == 2,  "#1 loss of events");
                }
 
                [Test]
@@ -233,18 +228,10 @@ namespace MonoTests.System.Timers
 
                void EnabledInElapsed_Elapsed (object sender, ElapsedEventArgs e)
                {
-                       if (_elapsedCount < 0)
-                               return;
-
                        _elapsedCount++;
                        Timer t = sender as Timer;
-                       if (t.Enabled) {
-                               _elapsedCount = -2;
-                               return;
-                       }
-                       t.Enabled = true;
-                       if (!t.Enabled)
-                               _elapsedCount = -1;
+                       if (_elapsedCount == 1)
+                               t.Enabled = true;
                }
        }