Jelajahi Sumber

Increase timeout for some task tests

Marek Safar 13 tahun lalu
induk
melakukan
91fd88ea6d

+ 4 - 5
mcs/class/corlib/Test/System.Threading.Tasks/TaskCompletionSourceTests.cs

@@ -200,22 +200,21 @@ namespace MonoTests.System.Threading.Tasks
 		[Test]
 		public void SetExceptionAndUnobservedEvent ()
 		{
-			bool wasCalled = false;
 			bool notFromMainThread = false;
+			var mre = new ManualResetEvent (false);
 			int mainThreadId = Thread.CurrentThread.ManagedThreadId;
 			TaskScheduler.UnobservedTaskException += (o, args) => {
-				wasCalled = true;
 				notFromMainThread = Thread.CurrentThread.ManagedThreadId != mainThreadId;
 				args.SetObserved ();
+				mre.Set ();
 			};
 			var inner = new ApplicationException ();
 			CreateFaultedTaskCompletionSource (inner);
-			Thread.Sleep (1000);
 			GC.Collect ();
 			GC.WaitForPendingFinalizers ();
 
-			Assert.IsTrue (wasCalled);
-			Assert.IsTrue (notFromMainThread);
+			Assert.IsTrue (mre.WaitOne (5000), "#1");
+			Assert.IsTrue (notFromMainThread, "#2");
 		}
 
 		void CreateFaultedTaskCompletionSource (Exception inner)

+ 1 - 1
mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs

@@ -967,7 +967,7 @@ namespace MonoTests.System.Threading.Tasks
 		{
 			var cancelation = new CancellationTokenSource ();
 
-			var t = Task.Delay (1000, cancelation.Token);
+			var t = Task.Delay (5000, cancelation.Token);
 			Assert.AreEqual (TaskStatus.WaitingForActivation, t.Status, "#1");
 			cancelation.Cancel ();
 			try {