Update compiler tests
authorMarek Safar <marek.safar@gmail.com>
Wed, 2 Jan 2013 16:39:15 +0000 (17:39 +0100)
committerMarek Safar <marek.safar@gmail.com>
Wed, 2 Jan 2013 17:19:29 +0000 (18:19 +0100)
24 files changed:
mcs/tests/known-issues-mt
mcs/tests/test-443-lib.il [deleted file]
mcs/tests/test-443.cs [deleted file]
mcs/tests/test-859-lib.il [deleted file]
mcs/tests/test-859.cs [deleted file]
mcs/tests/test-async-01.cs
mcs/tests/test-async-02.cs
mcs/tests/test-async-04.cs
mcs/tests/test-async-06.cs
mcs/tests/test-async-07.cs
mcs/tests/test-async-10.cs
mcs/tests/test-async-11.cs
mcs/tests/test-async-12.cs
mcs/tests/test-async-14.cs
mcs/tests/test-async-15.cs
mcs/tests/test-async-16.cs
mcs/tests/test-async-17.cs
mcs/tests/test-async-18.cs
mcs/tests/test-async-19.cs
mcs/tests/test-com-02-lib.il [new file with mode: 0644]
mcs/tests/test-com-02.cs [new file with mode: 0644]
mcs/tests/test-com-03-lib.il [new file with mode: 0644]
mcs/tests/test-com-03.cs [new file with mode: 0644]
mcs/tests/ver-il-net_4_5.xml

index 7a38e7ad5b84b78475c422cac147ae27476eabcd..6a6fe619c604f637564b3415eb059637aed55871 100644 (file)
@@ -16,12 +16,19 @@ test-616.cs SKIP
 test-695.cs SKIP
 test-707.cs SKIP
 test-814.cs SKIP
+gtest-186.cs SKIP
 test-com-01.cs SKIP
 
 #reflection
+test-19.cs SKIP
 test-295.cs SKIP
 test-555.cs SKIP
 
+#app domain
+test-795.cs SKIP
+
+# Tests without ConfigureAwait (false)
+test-async-13.cs SKIP
 
 # MT bugs
 
diff --git a/mcs/tests/test-443-lib.il b/mcs/tests/test-443-lib.il
deleted file mode 100644 (file)
index f0e0583..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-.assembly extern mscorlib { }
-
-.assembly 'test-443-lib' { }
-
-.namespace Test {
-
-.class interface public abstract auto ansi import ITopic
-{
-      .property string Title(int32)
-      {
-            .get instance string Test.ITopic::get_Title(int32, int32)
-                       .set instance string Test.ITopic::set_Title(int32, int32, bool, string)
-      }
-         
-       .method public hidebysig newslot specialname abstract virtual instance string get_Title(int32, int32) runtime managed internalcall
-       {
-       }
-       
-       .method public hidebysig newslot specialname abstract virtual instance string set_Title(int32, int32, bool, string) runtime managed internalcall
-       {
-       }
-       
-}
-}
diff --git a/mcs/tests/test-443.cs b/mcs/tests/test-443.cs
deleted file mode 100644 (file)
index f3e7854..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Compiler options: -r:test-443-lib.dll
-
-using Test;
-
-class C {              
-       public C (ITopic it) {
-               string i = it.get_Title (2, 3);
-               it.set_Title (1, 2, false, "bb");
-       }
-       
-       public static void Main () {}
-}
diff --git a/mcs/tests/test-859-lib.il b/mcs/tests/test-859-lib.il
deleted file mode 100644 (file)
index 94922ba..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-.assembly extern mscorlib
-{
-}
-
-.assembly 'test-859-lib'
-{
-  .hash algorithm 0x00008004
-  .ver  0:0:0:0
-}
-
-.module 'test-859-lib.dll'
-
-// Import flag enables more magic
-
-.class interface public auto ansi import C
-{
-  .method public hidebysig newslot specialname virtual abstract
-          instance object 
-          get_Value([opt] object a) runtime managed preservesig internalcall
-  {
-  }
-
-  .property object Value(object)
-  {
-    .get instance object C::get_Value(object)
-  }
-
-  .method public hidebysig newslot specialname virtual abstract
-          instance void 
-          set_Value2([opt] object a, [opt] object b) runtime managed preservesig internalcall
-  {
-  }
-
-  .property object Value2(object)
-  {
-    .set instance void C::set_Value2(object, object)
-  }
-
-}
diff --git a/mcs/tests/test-859.cs b/mcs/tests/test-859.cs
deleted file mode 100644 (file)
index fafd7f7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Compiler options: -r:test-859-lib.dll
-
-using System;
-
-class X
-{
-       void Test_PropertyOptionalParameters (C c)
-       {
-               // need to just run verifier on the method
-               if (c == null)
-                       return;
-
-               Console.WriteLine (c.Value);
-               c.Value2 = 1;
-       }
-
-       public static int Main ()
-       {
-               var x = new X ();
-               x.Test_PropertyOptionalParameters (null);
-
-               return 0;
-       }
-}
index 91c7d722083932e0b53bd560a259dcb97fede9ff..b1926400c054f331cc6336af4b0e5af8f00d4e59 100644 (file)
@@ -35,7 +35,7 @@ class Program
        {
                pos = 1;
 
-               await RunAsync ();
+               await RunAsync ().ConfigureAwait (false);
 
                if (pos != 3)
                        throw new ApplicationException (pos.ToString ());
index 0de3a6aec5ff1599a42e9101fe58af95a2c88568..7c9c34c2d6da535cf887f257bc4077bf33c58d3e 100644 (file)
@@ -10,12 +10,12 @@ class C
 
        public async Task TestTask ()
        {
-               await Call ();
+               await Call ().ConfigureAwait (false);
        }
 
        public async Task TestTask2 ()
        {
-               await Call ();
+               await Call ().ConfigureAwait (false);
                return;
        }
 
@@ -29,7 +29,7 @@ class C
 
        public async Task<int> TestTaskGeneric ()
        {
-               return await CallGeneric ();
+               return await CallGeneric ().ConfigureAwait (false);
        }
 
        Task<int> CallGeneric ()
index b3c21f9a5d8d1c50f00cac474a6c648be731b936..acdd9327ea00f851375ef2bb60dd02483f9f454c 100644 (file)
@@ -15,7 +15,7 @@ class C
                        mre_task.Set ();
                        mre.WaitOne (3000);
                        return 5;
-               });
+               }).ConfigureAwait (false);;
 
                return 1;
        }
index 8d50e08acda559e987d611b2032e8ceda2c4b5db..2792df88dfbb355f16e126b7981533bdc3638e2c 100644 (file)
@@ -15,7 +15,7 @@ class Program
                        await Task.Factory.StartNew (() => {
                                if (!mre_l.WaitOne (3000))
                                        throw new ApplicationException ("1");
-                       });
+                       }).ConfigureAwait (false);
 
                        if (mre_l.WaitOne ())
                                mre.Set ();
@@ -33,7 +33,7 @@ class Program
                        await Task.Factory.StartNew (() => {
                                if (!mre_l.WaitOne (3000))
                                        throw new ApplicationException ("2");
-                       });
+                       }).ConfigureAwait (false);
 
                        if (mre_l.WaitOne ())
                                mre.Set ();
@@ -52,7 +52,7 @@ class Program
                                        throw new ApplicationException ("3");
 
                                return l;
-                       });
+                       }).ConfigureAwait (false);
 
                        return t;
                };
@@ -73,7 +73,7 @@ class Program
                                        throw new ApplicationException ("4");
 
                                return l;
-                       });
+                       }).ConfigureAwait (false);
 
                        return t;
                };
index 0a6dd398dbefaa52913db60f80353747997bea9a..c5a53c5c3d631f896a8e3a685515bde3bac7040f 100644 (file)
@@ -17,7 +17,7 @@ class Program
                                        throw new ApplicationException ("3");
 
                                return l;
-                       });
+                       }).ConfigureAwait (false);
 
                var r = f ("a");
                mre_l.Set ();
@@ -33,7 +33,7 @@ class Program
                        await Task.Factory.StartNew (() => {
                                if (!mre_l.WaitOne (3000))
                                        throw new ApplicationException ("3");
-                       });
+                       }).ConfigureAwait (false);
 
                var rr = ff ();
                mre_l.Set ();
@@ -52,7 +52,7 @@ class Program
                                if (!mre_l.WaitOne (3000))
                                        throw new ApplicationException ("4");
                                mre.Set ();
-                       }, CancellationToken.None);
+                       }, CancellationToken.None).ConfigureAwait (false);
                
                a ();
                mre_l.Set ();
index d2be686a0683ebd0720d0d02ab585e7c67b0ff10..ae346177a91cd7a9c51dbbce5b2004778e3ea266 100644 (file)
@@ -10,43 +10,43 @@ class C
 {
        static async Task<string> TestCompositionCall_1 ()
        {
-               return await Task.Factory.StartNew (() => { Thread.Sleep (10); return "a"; }) +
-                       await Task.Factory.StartNew (() => "b") + "c";
+               return await Task.Factory.StartNew (() => { Thread.Sleep (10); return "a"; }).ConfigureAwait (false) +
+                       await Task.Factory.StartNew (() => "b").ConfigureAwait (false) + "c";
        }
 
        static async Task<string> TestCompositionCall_2 ()
        {
                return "a" + 1.ToString () +
-                       await Task.Factory.StartNew (() => "b") + "c";
+                       await Task.Factory.StartNew (() => "b").ConfigureAwait (false) + "c";
        }
 
        static async Task<int> TestCompositionCall_3 ()
        {
-               return await M (await Task.Factory.StartNew (() => (byte) 4));
+               return await M (await Task.Factory.StartNew (() => (byte) 4).ConfigureAwait (false)).ConfigureAwait (false);
        }
 
        static async Task<int> TestCompositionPair_1 ()
        {
-               return await Task.Factory.StartNew (() => 3) + 6;
+               return await Task.Factory.StartNew (() => 3).ConfigureAwait (false) + 6;
        }
 
        static async Task<int> TestCompositionPair_2 ()
        {
-               return await Task.Factory.StartNew (() => { Thread.Sleep (10); return 3; }) - 
-                       await Task.Factory.StartNew (() => 4);
+               return await Task.Factory.StartNew (() => { Thread.Sleep (10); return 3; }).ConfigureAwait (false) - 
+                       await Task.Factory.StartNew (() => 4).ConfigureAwait (false);
        }
 
        static async Task<int> TestCompositionPair_3 ()
        {
                return -8 * 
-                       await Task.Factory.StartNew (() => 4);
+                       await Task.Factory.StartNew (() => 4).ConfigureAwait (false);
        }
 
        static async Task<int> TestCompositionPair_4 ()
        {
-               return await Task.Factory.StartNew (() => 3) + 
-                       await Task.Factory.StartNew (() => 4) +
-                       await Task.Factory.StartNew (() => 7);
+               return await Task.Factory.StartNew (() => 3).ConfigureAwait (false) + 
+                       await Task.Factory.StartNew (() => 4).ConfigureAwait (false) +
+                       await Task.Factory.StartNew (() => 7).ConfigureAwait (false);
        }
        
        static Task<byte> M (byte value)
index 157ce5034bf57bf1f9907b9337feb1ee99147caa..e7bc5990f3aee8b5c4cd14a2954fea3f108951ed 100644 (file)
@@ -24,7 +24,7 @@ class G<T>
        {
                T[] a = new T[] { t };
                return Call (t, a[0], out t,
-                       await Task.Factory.StartNew (() => 3));
+                       await Task.Factory.StartNew (() => 3).ConfigureAwait (false));
        }
        
        int Call (T t1, T t2, out T t3, int i)
@@ -74,7 +74,7 @@ class C
                int v = 9;
                var array = new ulong[] { ulong.MaxValue };
                return new C ().TestCall (ref v, typeof (string), new S () { value = 4 }, array [0],
-                       await Task.Factory.StartNew (() => 3));
+                       await Task.Factory.StartNew (() => 3).ConfigureAwait (false));
        }
 
        int TestCall2<T1, T2, T3, T4, T5, T6, T7> (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
@@ -86,7 +86,7 @@ class C
        {
                short v = 2;
                return new C ().TestCall2 ((byte) 1, v, value = 9999, float.MaxValue, double.MaxValue, decimal.MaxValue,
-                       await Task.Factory.StartNew (() => 3));
+                       await Task.Factory.StartNew (() => 3).ConfigureAwait (false));
        }
 
        static async Task<int> TestStack_3 ()
@@ -98,7 +98,7 @@ class C
                s2[0, 0].value = 3;
                
                TestCall3 (ref s [0], ref s2 [0, 0], s [0].value++,
-                       await Task.Factory.StartNew (() => 3));
+                       await Task.Factory.StartNew (() => 3).ConfigureAwait (false));
                
                if (s [0].value != 10)
                        return 1;
@@ -123,7 +123,7 @@ class C
                var a3 = new [] { new C () };
                
                return TestCall4 (a1[0], a2[0], a3[0],
-                       await Task.Factory.StartNew (() => 3));
+                       await Task.Factory.StartNew (() => 3).ConfigureAwait (false));
        }
        
        static int TestCall4 (E e, S s, C c, int i)
@@ -150,7 +150,7 @@ class C
                        
                        c.prop_value = 99;
                        return 3;
-               });
+               }).ConfigureAwait (false);
                
                if (c.get_called != 1)
                        return 1;
index 956c69476e1e27e8059284e8aba43d7d83c8a212..eff8bda80f2b5e5eae9709683ca9e73e07cc6d45 100644 (file)
@@ -9,9 +9,9 @@ class C
        static async Task<int> TestNested_1 ()
        {
                return Call (
-                       await Task.Factory.StartNew (() => { Thread.Sleep (10); return 5; }),
-                       await Task.Factory.StartNew (() => -3),
-                       await Task.Factory.StartNew (() => 6));
+                       await Task.Factory.StartNew (() => { Thread.Sleep (10); return 5; }).ConfigureAwait (false),
+                       await Task.Factory.StartNew (() => -3).ConfigureAwait (false),
+                       await Task.Factory.StartNew (() => 6).ConfigureAwait (false));
        }
 
        static int Call (int arg1, int arg2, int arg3)
index efda5d8f4e1037e02c00cbf1124f77fb088fa927..789020a7a17ba1818e6bb33b77e77ca2cb513f1b 100644 (file)
@@ -8,7 +8,7 @@ class C
 {
        public async Task<int> TestResult ()
        {
-               if (await Task.Factory.StartNew (() => 8) != 9) {
+               if (await Task.Factory.StartNew (() => 8).ConfigureAwait (false) != 9) {
                        return 2;
                }
                
@@ -30,7 +30,7 @@ class C
                        return 3;
                
                Func<Task<int>> f = async () => {
-                       var tr = await Task.Factory.StartNew (() => 1);
+                       var tr = await Task.Factory.StartNew (() => 1).ConfigureAwait (false);
                        if (tr == 1)
                                return 3;
 
index ae56f3950aa5580dc32ca390ace24f34c3c4b33a..a1da25f39d5ec38cd4222450ce606465945af4ac 100644 (file)
@@ -32,7 +32,7 @@ class Tester
                int value = 9;
                
                var s = new T () {
-                       Value = await Task.Factory.StartNew (() => 13)
+                       Value = await Task.Factory.StartNew (() => 13).ConfigureAwait (false)
                };
                
                if (s.Value != 13)
index 8a79187e4af6b52129bff2e0e42b602b370584ba..7bbfcacf94ed81d807540990eb49cb7a6978fe1c 100644 (file)
@@ -21,7 +21,7 @@ class Tester : Base
 {
        async Task<int> SwitchTest_1 ()
        {
-               switch (await Task.Factory.StartNew (() => "X")) {
+               switch (await Task.Factory.StartNew (() => "X").ConfigureAwait (false)) {
                case "A":
                        return 1;
                case "B":
@@ -39,10 +39,10 @@ class Tester : Base
 
        async Task<int> Using_1 ()
        {
-               using (Base a = await Task.Factory.StartNew (() => new Base ()),
-                               b = await Task.Factory.StartNew (() => new Tester ()),
-                               c = await Task.Factory.StartNew (() => new Base ()),
-                               d = await Task.Factory.StartNew (() => new Base ())) {
+               using (Base a = await Task.Factory.StartNew (() => new Base ()).ConfigureAwait (false),
+                               b = await Task.Factory.StartNew (() => new Tester ()).ConfigureAwait (false),
+                               c = await Task.Factory.StartNew (() => new Base ()).ConfigureAwait (false),
+                               d = await Task.Factory.StartNew (() => new Base ()).ConfigureAwait (false)) {
                }
 
                if (dispose_counter != 4)
@@ -54,7 +54,7 @@ class Tester : Base
        async Task<int> Foreach_1 ()
        {
                int total = 0;
-               foreach (var e in await Task.Factory.StartNew (() => new List<int> () { 1, 2, 3 })) {
+               foreach (var e in await Task.Factory.StartNew (() => new List<int> () { 1, 2, 3 }).ConfigureAwait (false)) {
                        total += e;
                }
 
index f0dccf548b22e5268f9bf1aa8413d0d3185bc163..927ab629839b19db8d6f734e7ea408dd3e2a6619 100644 (file)
@@ -10,25 +10,25 @@ class Tester
 {
        async Task<int> TestException_1 ()
        {
-               await Task.Factory.StartNew (() => { throw new ApplicationException (); });
+               await Task.Factory.StartNew (() => { throw new ApplicationException (); }).ConfigureAwait (false);
                return 1;
        }
 
        async Task TestException_2 ()
        {
-               await Task.Factory.StartNew (() => { throw new ApplicationException (); });
+               await Task.Factory.StartNew (() => { throw new ApplicationException (); }).ConfigureAwait (false);
        }
 
        async Task TestException_3 ()
        {
-               Func<Task> a = async () => await Task.Factory.StartNew (() => { throw new ApplicationException (); });
-               await a ();
+               Func<Task> a = async () => await Task.Factory.StartNew (() => { throw new ApplicationException (); }).ConfigureAwait (false);
+               await a ().ConfigureAwait (false);
        }
        
        async Task<int> TestException_4 ()
        {
                try {
-                       await Task.Factory.StartNew (() => 5);
+                       await Task.Factory.StartNew (() => 5).ConfigureAwait (false);
                } finally {
                        throw new ApplicationException ();
                }
@@ -38,7 +38,7 @@ class Tester
        {
                int state = 0;
                try {
-                       await Task.Factory.StartNew (() => { throw new ArgumentException (); });
+                       await Task.Factory.StartNew (() => { throw new ArgumentException (); }).ConfigureAwait (false);
                        state = 1;
                } catch (ArgumentException) {
                        state = 2;
@@ -53,7 +53,7 @@ class Tester
        async Task<int> TestException_6 ()
        {
                try {
-                       await Task.Factory.StartNew (() => { throw new ArgumentException (); });
+                       await Task.Factory.StartNew (() => { throw new ArgumentException (); }).ConfigureAwait (false);
                } catch (ArgumentException) {
                        throw new ApplicationException ();      
                }
index 898d9ed4dedaac879274ce2c3716cd348cbb55a6..bfcd35be560ec61831f2994139b02ef23a4af613 100644 (file)
@@ -11,7 +11,7 @@ class Tester
                {
                        int a = 8;
                        Func<int> f = () => a;
-                       res = await Task.Factory.StartNew (f);
+                       res = await Task.Factory.StartNew (f).ConfigureAwait (false);
                        res += f ();
                }
                
@@ -24,7 +24,7 @@ class Tester
                {
                        int a = 8;
                        Func<int> f = () => a + res;
-                       res = await Task.Factory.StartNew (f);
+                       res = await Task.Factory.StartNew (f).ConfigureAwait (false);
                        res += f ();
                }
                
@@ -37,7 +37,7 @@ class Tester
                {
                        int a = 8;
                        Func<int> f = () => a;
-                       res = await Task.Factory.StartNew (f);
+                       res = await Task.Factory.StartNew (f).ConfigureAwait (false);
                        res += f ();
                }
                
index 28a8b68fd97123fa9b12639e2f82a856e333c0d3..1b3db32b9b08083924753102dd916996e69dd4bb 100644 (file)
@@ -15,7 +15,7 @@ class C
                                throw new ApplicationException ();
                });
 
-               await a;
+               await a.ConfigureAwait (false);
        }
 
        public static int Main ()
diff --git a/mcs/tests/test-com-02-lib.il b/mcs/tests/test-com-02-lib.il
new file mode 100644 (file)
index 0000000..f0e0583
--- /dev/null
@@ -0,0 +1,24 @@
+.assembly extern mscorlib { }
+
+.assembly 'test-443-lib' { }
+
+.namespace Test {
+
+.class interface public abstract auto ansi import ITopic
+{
+      .property string Title(int32)
+      {
+            .get instance string Test.ITopic::get_Title(int32, int32)
+                       .set instance string Test.ITopic::set_Title(int32, int32, bool, string)
+      }
+         
+       .method public hidebysig newslot specialname abstract virtual instance string get_Title(int32, int32) runtime managed internalcall
+       {
+       }
+       
+       .method public hidebysig newslot specialname abstract virtual instance string set_Title(int32, int32, bool, string) runtime managed internalcall
+       {
+       }
+       
+}
+}
diff --git a/mcs/tests/test-com-02.cs b/mcs/tests/test-com-02.cs
new file mode 100644 (file)
index 0000000..7a26776
--- /dev/null
@@ -0,0 +1,12 @@
+// Compiler options: -r:test-com-02-lib.dll
+
+using Test;
+
+class C {              
+       public C (ITopic it) {
+               string i = it.get_Title (2, 3);
+               it.set_Title (1, 2, false, "bb");
+       }
+       
+       public static void Main () {}
+}
diff --git a/mcs/tests/test-com-03-lib.il b/mcs/tests/test-com-03-lib.il
new file mode 100644 (file)
index 0000000..94922ba
--- /dev/null
@@ -0,0 +1,39 @@
+.assembly extern mscorlib
+{
+}
+
+.assembly 'test-859-lib'
+{
+  .hash algorithm 0x00008004
+  .ver  0:0:0:0
+}
+
+.module 'test-859-lib.dll'
+
+// Import flag enables more magic
+
+.class interface public auto ansi import C
+{
+  .method public hidebysig newslot specialname virtual abstract
+          instance object 
+          get_Value([opt] object a) runtime managed preservesig internalcall
+  {
+  }
+
+  .property object Value(object)
+  {
+    .get instance object C::get_Value(object)
+  }
+
+  .method public hidebysig newslot specialname virtual abstract
+          instance void 
+          set_Value2([opt] object a, [opt] object b) runtime managed preservesig internalcall
+  {
+  }
+
+  .property object Value2(object)
+  {
+    .set instance void C::set_Value2(object, object)
+  }
+
+}
diff --git a/mcs/tests/test-com-03.cs b/mcs/tests/test-com-03.cs
new file mode 100644 (file)
index 0000000..fafd7f7
--- /dev/null
@@ -0,0 +1,24 @@
+// Compiler options: -r:test-859-lib.dll
+
+using System;
+
+class X
+{
+       void Test_PropertyOptionalParameters (C c)
+       {
+               // need to just run verifier on the method
+               if (c == null)
+                       return;
+
+               Console.WriteLine (c.Value);
+               c.Value2 = 1;
+       }
+
+       public static int Main ()
+       {
+               var x = new X ();
+               x.Test_PropertyOptionalParameters (null);
+
+               return 0;
+       }
+}
index 78c3bc857ad0c6825dead0561adf9f974d446175..8b2e7016340c476f461bff86a1177cafabef8e21 100644 (file)
       </method>\r
     </type>\r
   </test>\r
-  <test name="test-146.cs">\r
-    <type name="Test">\r
-      <method name="Int32 Main()" attrs="150">\r
-        <size>352</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-  </test>\r
   <test name="test-147.cs">\r
     <type name="X">\r
       <method name="X Foo()" attrs="150">\r
       </method>\r
     </type>\r
   </test>\r
-  <test name="test-443.cs">\r
-    <type name="C">\r
-      <method name="Void Main()" attrs="150">\r
-        <size>2</size>\r
-      </method>\r
-      <method name="Void .ctor(ITopic)" attrs="6278">\r
-        <size>32</size>\r
-      </method>\r
-    </type>\r
-  </test>\r
   <test name="test-444.cs">\r
     <type name="쯠쯡쯢">\r
       <method name="Void Main()" attrs="150">\r
       </method>\r
     </type>\r
   </test>\r
-  <test name="test-859.cs">\r
-    <type name="X">\r
-      <method name="Void Test_PropertyOptionalParameters(C)" attrs="129">\r
-        <size>46</size>\r
-      </method>\r
-      <method name="Int32 Main()" attrs="150">\r
-        <size>23</size>\r
-      </method>\r
-      <method name="Void .ctor()" attrs="6278">\r
-        <size>7</size>\r
-      </method>\r
-    </type>\r
-  </test>\r
   <test name="test-86.cs">\r
     <type name="T.T">\r
       <method name="Int32 method1(System.Type, Int32)" attrs="145">\r
     </type>\r
     <type name="Program+&lt;TestAsync&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>212</size>\r
+        <size>221</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="C+&lt;TestTask&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>162</size>\r
+        <size>171</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;TestTask2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>167</size>\r
+        <size>176</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;TestTaskGeneric&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>169</size>\r
+        <size>178</size>\r
       </method>\r
     </type>\r
     <type name="C+&lt;TestTask&gt;c__async0">\r
     </type>\r
     <type name="C+&lt;TestTaskGeneric&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>187</size>\r
+        <size>196</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>217</size>\r
+        <size>226</size>\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>217</size>\r
+        <size>226</size>\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>242</size>\r
+        <size>251</size>\r
       </method>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async0">\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>242</size>\r
+        <size>251</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>229</size>\r
+        <size>238</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>182</size>\r
+        <size>191</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Program+&lt;Main&gt;c__AnonStorey1+&lt;Main&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>182</size>\r
+        <size>191</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionCall_1&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>318</size>\r
+        <size>338</size>\r
       </method>\r
       <method name="System.String &lt;&gt;m__1()" attrs="145">\r
         <size>21</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionCall_2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>246</size>\r
+        <size>257</size>\r
       </method>\r
       <method name="System.String &lt;&gt;m__3()" attrs="145">\r
         <size>13</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionCall_3&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>288</size>\r
+        <size>310</size>\r
       </method>\r
       <method name="Byte &lt;&gt;m__4()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_1&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>199</size>\r
+        <size>208</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__5()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_2&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>309</size>\r
+        <size>329</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__6()" attrs="145">\r
         <size>17</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_3&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>200</size>\r
+        <size>209</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__8()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestCompositionPair_4&gt;c__async6">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>435</size>\r
+        <size>467</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__9()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="G`1+&lt;TestStack_1&gt;c__async0[T]">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>257</size>\r
+        <size>266</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestStack_1&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>316</size>\r
+        <size>327</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestStack_2&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>291</size>\r
+        <size>302</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestStack_3&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>457</size>\r
+        <size>467</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__3()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestStack_4&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>312</size>\r
+        <size>323</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__4()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;TestStack_5&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>336</size>\r
+        <size>347</size>\r
       </method>\r
     </type>\r
     <type name="G`1+&lt;TestStack_1&gt;c__async0[T]">\r
     </type>\r
     <type name="C+&lt;TestNested_1&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>424</size>\r
+        <size>455</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>17</size>\r
     </type>\r
     <type name="C+&lt;TestResult&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>213</size>\r
+        <size>222</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__1()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="C+&lt;Main&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>223</size>\r
+        <size>232</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__2()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="Tester+&lt;NewInitTestGen&gt;c__async0`1[T]">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>294</size>\r
+        <size>306</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__0()" attrs="145">\r
         <size>10</size>\r
     </type>\r
     <type name="Tester+&lt;SwitchTest_1&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>335</size>\r
+        <size>346</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Tester+&lt;Using_1&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>766</size>\r
+        <size>809</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Tester+&lt;Foreach_1&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>320</size>\r
+        <size>331</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_1&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>198</size>\r
+        <size>207</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__4()" attrs="145">\r
         <size>7</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>190</size>\r
+        <size>199</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__5()" attrs="145">\r
         <size>7</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_3&gt;c__async2">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>197</size>\r
+        <size>206</size>\r
       </method>\r
       <method name="System.Threading.Tasks.Task &lt;&gt;m__6()" attrs="145">\r
         <size>33</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_4&gt;c__async3">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>229</size>\r
+        <size>239</size>\r
       </method>\r
       <method name="Int32 &lt;&gt;m__8()" attrs="145">\r
         <size>9</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_5&gt;c__async4">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>278</size>\r
+        <size>289</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__9()" attrs="145">\r
         <size>7</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_6&gt;c__async5">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>232</size>\r
+        <size>243</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__A()" attrs="145">\r
         <size>7</size>\r
     </type>\r
     <type name="Tester+&lt;TestException_3&gt;c__async2+&lt;TestException_3&gt;c__async6">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>194</size>\r
+        <size>203</size>\r
       </method>\r
       <method name="Void &lt;&gt;m__7()" attrs="145">\r
         <size>7</size>\r
     </type>\r
     <type name="Tester+&lt;Lambda_1&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>268</size>\r
+        <size>277</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;Lambda_2&gt;c__async1">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>321</size>\r
+        <size>330</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;Lambda_3&gt;c__async2`1[T]">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>268</size>\r
+        <size>277</size>\r
       </method>\r
     </type>\r
     <type name="Tester+&lt;Lambda_1&gt;c__async0">\r
     </type>\r
     <type name="C+&lt;Test&gt;c__async0">\r
       <method name="Void MoveNext()" attrs="486">\r
-        <size>218</size>\r
+        <size>227</size>\r
       </method>\r
       <method name="Void SetStateMachine(IAsyncStateMachine)" attrs="486">\r
         <size>13</size>\r
       </method>\r
     </type>\r
   </test>\r
+  <test name="test-com-02.cs">\r
+    <type name="C">\r
+      <method name="Void Main()" attrs="150">\r
+        <size>2</size>\r
+      </method>\r
+      <method name="Void .ctor(ITopic)" attrs="6278">\r
+        <size>32</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
+  <test name="test-com-03.cs">\r
+    <type name="X">\r
+      <method name="Void Test_PropertyOptionalParameters(C)" attrs="129">\r
+        <size>46</size>\r
+      </method>\r
+      <method name="Int32 Main()" attrs="150">\r
+        <size>23</size>\r
+      </method>\r
+      <method name="Void .ctor()" attrs="6278">\r
+        <size>7</size>\r
+      </method>\r
+    </type>\r
+  </test>\r
   <test name="test-debug-01.cs">\r
     <type name="C">\r
       <method name="Void Main()" attrs="150">\r