Merge pull request #961 from ermshiperete/bug-xamarin-18118
[mono.git] / mono / mini / exceptions.cs
index b3319e56089882eafa789d98b12ac04c7faaa731..ed9ca4da7865dafab857618fb96e810393082620 100644 (file)
@@ -24,11 +24,18 @@ using System.Runtime.CompilerServices;
  * the IL code looks.
  */
 
-class Tests {
+#if MOBILE
+class ExceptionTests
+#else
+class Tests
+#endif
+{
 
-       public static int Main () {
-               return TestDriver.RunTests (typeof (Tests));
+#if !MOBILE
+       public static int Main (string[] args) {
+               return TestDriver.RunTests (typeof (Tests), args);
        }
+#endif
 
        public static int test_0_catch () {
                Exception x = new Exception ();
@@ -1455,6 +1462,7 @@ class Tests {
                return 0;
        }
        
+       [Category ("NaClDisable")]
        public static int test_0_div_zero () {
                int d = 1;
                int q = 0;
@@ -1560,6 +1568,7 @@ class Tests {
                return 0;
        }
 
+       [Category ("NaClDisable")]
        public static int test_0_long_div_zero () {
                long d = 1;
                long q = 0;
@@ -2309,16 +2318,6 @@ class Tests {
        public static int test_0_array_size () {
                bool failed;
 
-               try {
-                       failed = true;
-                       int[] mem1 = new int [Int32.MaxValue];
-               }
-               catch (OutOfMemoryException e) {
-                       failed = false;
-               }
-               if (failed)
-                       return 1;
-
                try {
                        failed = true;
                        int[,] mem2 = new int [Int32.MaxValue, Int32.MaxValue];
@@ -2406,7 +2405,7 @@ class Tests {
        }
 
        public static int test_0_nonvirt_nullref_at_clause_start () {
-               Tests t = null;
+               ExceptionTests t = null;
                try {
                        t.amethod ();
                } catch (NullReferenceException) {
@@ -2526,7 +2525,11 @@ class Tests {
        public static int test_0_lmf_filter () {
                try {
                        // The invoke calls a runtime-invoke wrapper which has a filter clause
+#if MOBILE
+                       typeof (ExceptionTests).GetMethod ("lmf_filter").Invoke (null, new object [] { });
+#else
                        typeof (Tests).GetMethod ("lmf_filter").Invoke (null, new object [] { });
+#endif
                } catch (TargetInvocationException) {
                }
                return 0;
@@ -2730,3 +2733,8 @@ class Tests {
        }
 }
 
+#if !MOBILE
+class ExceptionTests : Tests
+{
+}
+#endif
\ No newline at end of file