[corlib] Mark all promise-style task exceptions observed. Fixes #17015
[mono.git] / mcs / class / corlib / Test / System.Threading.Tasks / TaskTest.cs
index f61a64d4aa0f89fceb29833e418b9910cafabce2..1f3c156d776c042db277dfb83726725566f96d5d 100644 (file)
@@ -837,6 +837,23 @@ namespace MonoTests.System.Threading.Tasks
                        }
                }
 
+               [Test]
+               public void RunSynchronously_SchedulerException ()
+               {
+                       var scheduler = new MockScheduler ();
+                       scheduler.TryExecuteTaskInlineHandler += (task, b) => {
+                               throw new ApplicationException ();
+                       };
+
+                       Task t = new Task (() => { });
+                       try {
+                               t.RunSynchronously (scheduler);
+                               Assert.Fail ();
+                       } catch (Exception e) {
+                               Assert.AreEqual (t.Exception.InnerException, e);
+                       }
+               }
+
                [Test]
                public void RunSynchronouslyWithAttachedChildren ()
                {