Imported Upstream version 4.2.0.179

Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent 183bba2c9a
commit 6992685b86
7507 changed files with 90259 additions and 657307 deletions

View File

@ -345,18 +345,18 @@ namespace MonoTests.System.Threading.Tasks
CountdownEvent cde = new CountdownEvent (2);
var mre = new ManualResetEvent (false);
var tasks = new[] {
Task.Factory.StartNew (delegate { mre.WaitOne (); }),
Task.Factory.StartNew (delegate { Assert.IsTrue (mre.WaitOne (10000), "#0"); }),
Task.Factory.StartNew (delegate { try { throw new ApplicationException (); } finally { cde.Signal (); } }),
Task.Factory.StartNew (delegate { try { throw new ApplicationException (); } finally { cde.Signal (); } })
};
Assert.IsTrue (cde.Wait (1000), "#1");
Assert.IsTrue (cde.Wait (5000), "#1");
Assert.IsFalse (Task.WaitAll (tasks, 1000), "#2");
mre.Set ();
try {
Assert.IsTrue (Task.WaitAll (tasks, 1000), "#3");
Task.WaitAll (tasks, 1000);
Assert.Fail ("#4");
} catch (AggregateException e) {
Assert.AreEqual (2, e.InnerExceptions.Count, "#5");
@ -1159,7 +1159,7 @@ namespace MonoTests.System.Threading.Tasks
});
var onErrorTask = testTask.ContinueWith (x => continuationRan = true, TaskContinuationOptions.OnlyOnFaulted);
testTask.RunSynchronously ();
onErrorTask.Wait (100);
onErrorTask.Wait (1000);
Assert.IsNotNull (e);
Assert.IsTrue (continuationRan);
}
@ -1889,7 +1889,7 @@ namespace MonoTests.System.Threading.Tasks
bool? is_bg = null;
var t = new Task (() => { is_tp = Thread.CurrentThread.IsThreadPoolThread; is_bg = Thread.CurrentThread.IsBackground; });
t.Start ();
t.Wait ();
Assert.IsTrue (t.Wait (5000), "#0");
Assert.IsTrue ((bool)is_tp, "#1");
Assert.IsTrue ((bool)is_bg, "#2");
@ -1897,7 +1897,7 @@ namespace MonoTests.System.Threading.Tasks
is_bg = null;
t = new Task (() => { is_tp = Thread.CurrentThread.IsThreadPoolThread; is_bg = Thread.CurrentThread.IsBackground; }, TaskCreationOptions.LongRunning);
t.Start ();
t.Wait ();
Assert.IsTrue (t.Wait (5000), "#10");
Assert.IsFalse ((bool) is_tp, "#11");
Assert.IsTrue ((bool) is_bg, "#12");
}