class Miss1 : Missing.Foo1 {
}
+public class Miss2 {
+ public class Foo : Missing.Foo1 {
+ }
+}
+
public class Tests : LoadMissing {
public delegate void TestDel ();
return 0;
}
+ public static int test_0_bad_method_override1 ()
+ {
+ try {
+ BadOverridesDriver.bad_override1 ();
+ return 1;
+ } catch (TypeLoadException) {}
+ return 0;
+ }
+
+ public static int test_0_bad_method_override2 ()
+ {
+ try {
+ BadOverridesDriver.bad_override2 ();
+ return 1;
+ } catch (TypeLoadException) {}
+ return 0;
+ }
+
+ public static int test_0_bad_method_override3 ()
+ {
+ try {
+ BadOverridesDriver.bad_override3 ();
+ return 1;
+ } catch (TypeLoadException) {}
+ return 0;
+ }
+
+ public static int test_0_bad_method_override4 ()
+ {
+ try {
+ BadOverridesDriver.bad_override4 ();
+ return 1;
+ } catch (TypeLoadException) {}
+ return 0;
+ }
public static void missing_outer () {
new Missing.Foo1.InnerFoo ();
return check_type_load (new TestDel (missing_outer));
}
+ // #524498
+ public static int test_0_exception_while_jitting_cctor () {
+ try {
+ CCtorClass.foo ();
+ } catch (TypeInitializationException) {
+ return 0;
+ }
+
+ return 1;
+ }
+
#if FALSE
public static void missing_parent () {
new Miss1 ();
}
#endif
- public static int Main () {
- return TestDriver.RunTests (typeof (Tests));
+ public static int test_0_missing_nested () {
+ if (typeof (Miss2).GetNestedTypes ().Length != 0)
+ return 1;
+ return 0;
+ }
+
+ public static int test_0_reflection_on_field_with_missing_type () {
+ var t = typeof (BadOverridesDriver).Assembly.GetType ("FieldWithMissingType");
+ foreach (var f in t.GetFields (BindingFlags.Public | BindingFlags.Static)) {
+ try {
+ Console.WriteLine (f.Name);
+ f.GetValue (null);
+ return 1;
+ } catch (TypeLoadException) {
+ return 0;
+ }
+ }
+ return 2;
+ }
+
+ public static int test_0_reflection_on_field_with_missing_custom_attr () {
+ var t = typeof (BadOverridesDriver).Assembly.GetType ("FieldWithMissingCustomAttribute");
+ try {
+ Console.WriteLine (t.GetFields ()[0].CustomAttributes);
+ return 1;
+ } catch (FileNotFoundException) {
+ return 0;
+ }
+ return 2;
+ }
+
+ public static int Main (string[] args) {
+ return TestDriver.RunTests (typeof (Tests), args);
}
}