New threadpool + exception test.
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Sun, 1 Aug 2010 18:31:56 +0000 (14:31 -0400)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Sun, 1 Aug 2010 18:31:56 +0000 (14:31 -0400)
mono/tests/threadpool-exceptions5.cs [new file with mode: 0644]

diff --git a/mono/tests/threadpool-exceptions5.cs b/mono/tests/threadpool-exceptions5.cs
new file mode 100644 (file)
index 0000000..da9c354
--- /dev/null
@@ -0,0 +1,31 @@
+using System;
+using System.Threading;
+
+class Test {
+       static int return_value = 2;
+       static int Main ()
+       {
+               AppDomain.CurrentDomain.UnhandledException += OnUnhandledException;
+               WaitCallback wcb = new WaitCallback ((a) => {
+                       Thread.CurrentThread.Abort();
+               });
+               wcb.BeginInvoke (wcb, OnCBFinished, null);
+               Thread.Sleep (1000);
+               return 1;
+       }
+
+       static void OnUnhandledException (object sender, UnhandledExceptionEventArgs e)
+       {
+               string str = e.ExceptionObject.ToString ();
+               if (str.IndexOf ("From the threadpool") != -1)
+                       return_value = 3;
+               Environment.Exit (return_value);
+       }
+
+       static void OnCBFinished (object arg)
+       {
+               return_value = 0;
+               throw new Exception ("From OnCBFinished");
+       }
+}
+