Merge pull request #2081 from BrzVlad/feature-concurrent-work
[mono.git] / mono / tests / gc-oom-handling2.cs
index 0a38190e820523215f9128101f20b9cba09cfcb3..e048113fb050d0740cd2cea4af611bb1a4a5f8e6 100644 (file)
@@ -1,7 +1,10 @@
 using System;
 using System.Collections.Generic;
+using System.Reflection;
+
 
 class Driver {
+       /*Test that GC handles interning failure correctly*/
        static void DumpStuff () {
                Console.WriteLine ("CWL under OOM - should not print {0}", 99);
                Console.WriteLine ("CWL under OOM - should not print {0}{1}", 22, 44.4);
@@ -9,6 +12,8 @@ class Driver {
 
        static int Main () {
                Console.WriteLine ("start");
+               Assembly corlib = typeof (object).Assembly;
+               Module module = corlib.GetModules ()[0];
                var r = new Random (123456);
                var l = new List<object> ();
                try {
@@ -17,11 +22,23 @@ class Driver {
                                l.Add (foo);
                        }
                        Console.WriteLine ("done");
-                       return -1;
+                       return 1;
                } catch (Exception) {
                        try {
                                DumpStuff ();
+                               return 2;
+                       } catch (Exception) {}
+
+                       try {
+                               module.GetTypes ();
+                               return 3;
+                       } catch (Exception) {}
+
+                       try {
+                               corlib.GetTypes ();
+                               return 4;
                        } catch (Exception) {}
+       
 
                        l.Clear ();
                        l = null;