Improve task test
authorMarek Safar <marek.safar@gmail.com>
Mon, 11 Jun 2012 11:05:17 +0000 (12:05 +0100)
committerMarek Safar <marek.safar@gmail.com>
Mon, 11 Jun 2012 11:11:35 +0000 (12:11 +0100)
mcs/class/corlib/Test/System.Threading.Tasks/TaskTest.cs

index 5be32870c9ad48cfa839994ad876eec63276f26e..02b3b44b77ddbf87cf19ac3a045c3a42dbae88fd 100644 (file)
@@ -726,15 +726,14 @@ namespace MonoTests.System.Threading.Tasks
                                var cntd2 = new CountdownEvent (2);
 
                                bool r1 = false, r2 = false;
-                               ThreadPool.QueueUserWorkItem (delegate { cntd.Signal (); r1 = t.Wait (1000); cntd2.Signal (); });
-                               ThreadPool.QueueUserWorkItem (delegate { cntd.Signal (); r2 = t.Wait (1000); cntd2.Signal (); });
+                               ThreadPool.QueueUserWorkItem (delegate { cntd.Signal (); r1 = t.Wait (1000) && t.Result; cntd2.Signal (); });
+                               ThreadPool.QueueUserWorkItem (delegate { cntd.Signal (); r2 = t.Wait (1000) && t.Result; cntd2.Signal (); });
 
-                               cntd.Wait (2000);
-                               Thread.Sleep (0);
+                               Assert.IsTrue (cntd.Wait (2000), "#1");
                                evt.Set ();
-                               cntd2.Wait (2000);
-                               Assert.IsTrue (r1);
-                               Assert.IsTrue (r2);
+                               Assert.IsTrue (cntd2.Wait (2000), "#2");
+                               Assert.IsTrue (r1, "r1");
+                               Assert.IsTrue (r2, "r2");
                        }, 10);
                }