Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@ -55,8 +55,10 @@ namespace MonoTests.System.Threading
{
int called = 0;
var cts = new CancellationTokenSource (TimeSpan.FromMilliseconds (20));
cts.Token.Register (() => called++);
Thread.Sleep (50);
var mre = new ManualResetEvent (false);
cts.Token.Register (() => { called++; mre.Set (); });
Assert.IsTrue (mre.WaitOne (1000), "Not called in 1000ms");
Assert.AreEqual (1, called, "#1");
}
@ -89,10 +91,12 @@ namespace MonoTests.System.Threading
{
int called = 0;
var cts = new CancellationTokenSource ();
cts.Token.Register (() => called++);
var mre = new ManualResetEvent (false);
cts.Token.Register (() => { called++; mre.Set (); });
cts.CancelAfter (50);
cts.Dispose ();
Thread.Sleep (100);
Assert.IsFalse (mre.WaitOne (100), "Shouldn't have been called");
Assert.AreEqual (0, called, "#1");
}