X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Faot-tests.cs;h=82fb3ae674dfe4030e7ff8b9fe35be8cb2c56d12;hb=HEAD;hp=bd823f2b9062cce310ff2791ed9c39a5876c1d44;hpb=19f5033b7d89aacbd1486db2d236fac6b75b87b8;p=mono.git diff --git a/mono/mini/aot-tests.cs b/mono/mini/aot-tests.cs index bd823f2b906..82fb3ae674d 100644 --- a/mono/mini/aot-tests.cs +++ b/mono/mini/aot-tests.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; +using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -25,6 +26,7 @@ class Tests public delegate void ArrayDelegate (int[,] arr); + [Category ("!WASM")] //Requires a working threadpool static int test_0_array_delegate_full_aot () { ArrayDelegate d = delegate (int[,] arr) { }; @@ -84,6 +86,7 @@ class Tests } [Category ("DYNCALL")] + [Category ("!FULLAOT-AMD64")] static int test_0_arm64_dyncall_hfa_double () { double arg1 = 1.0f; // HFA with double members @@ -97,6 +100,7 @@ class Tests } [Category ("DYNCALL")] + [Category ("!FULLAOT-AMD64")] static int test_0_arm64_dyncall_hfa_float () { double arg1 = 1.0f; var s = new Struct2 (); @@ -110,6 +114,7 @@ class Tests [Category ("DYNCALL")] [Category ("GSHAREDVT")] + [Category ("!FULLAOT-AMD64")] static int test_0_arm64_dyncall_gsharedvt_out_hfa_double () { /* gsharedvt out trampoline with double hfa argument */ double arg1 = 1.0f; @@ -129,6 +134,7 @@ class Tests [Category ("DYNCALL")] [Category ("GSHAREDVT")] + [Category ("!FULLAOT-AMD64")] static int test_0_arm64_dyncall_gsharedvt_out_hfa_float () { /* gsharedvt out trampoline with double hfa argument */ double arg1 = 1.0f; @@ -190,6 +196,8 @@ class Tests } [Category ("DYNCALL")] + [Category ("GSHAREDVT")] + [Category ("!FULLAOT-AMD64")] static int test_0_arm64_dyncall_vtypebyref_ret () { var s = new VTypeByRefStruct () { o1 = 1, o2 = 2, o3 = 3 }; Type t = typeof (Foo5<>).MakeGenericType (new Type [] { typeof (VTypeByRefStruct) }); @@ -210,7 +218,8 @@ class Tests } } - [Category("DYNCALL")] + [Category ("DYNCALL")] + [Category ("GSHAREDVT")] static int test_0_arm_dyncall_reg_stack_split () { var m = typeof (Foo6).GetMethod ("reg_stack_split_inner").MakeGenericMethod (new Type[] { typeof (long) }); var o = new Foo6 (); @@ -251,6 +260,8 @@ class Tests } [Category ("DYNCALL")] + [Category ("!FULLAOT-AMD64")] + [Category ("!INTERPRETER")] //known bug in the interpreter public static int test_0_dyncall_nullable () { int? v; @@ -367,6 +378,7 @@ class Tests return 0; } + [Category ("DYNCALL")] public static int test_0_array_accessor_runtime_invoke_ref () { var t = typeof (string[]); var arr = Array.CreateInstance (typeof (string), 1); @@ -399,6 +411,8 @@ class Tests } [Category ("DYNCALL")] + [Category ("!FULLAOT-AMD64")] + [Category ("!INTERPRETER")] //known bug in the interpreter public static int test_0_large_nullable_invoke () { var s = new LargeStruct () { a = 1, b = 2, c = 3, d = 4 }; @@ -475,4 +489,16 @@ class Tests m.Invoke (arr, null); return 0; } + + public static int test_0_fault_clauses () { + object [] data = { 1, 2, 3 }; + int [] expected = { 1, 2, 3 }; + + try { + Action d = delegate () { data.Cast ().GetEnumerator ().MoveNext (); }; + d (); + } catch (Exception ex) { + } + return 0; + } }