New tests.
authorMarek Safar <marek.safar@gmail.com>
Thu, 18 Sep 2008 11:09:56 +0000 (11:09 -0000)
committerMarek Safar <marek.safar@gmail.com>
Thu, 18 Sep 2008 11:09:56 +0000 (11:09 -0000)
svn path=/trunk/mcs/; revision=113401

mcs/tests/gtest-380.cs
mcs/tests/gtest-etree-01.cs
mcs/tests/ver-il-gmcs.xml

index 00d7e3bd45d84986217de923330e35025fe1a05a..8e27fa894f51bb9e0f73d15da6c212ee962f431d 100644 (file)
@@ -1,6 +1,11 @@
 using System.Reflection;
 using System;
 
+class GTest<T>
+{
+       public static volatile string str = "Hello";
+}
+
 class Test
 {
        public volatile int field;
@@ -17,7 +22,18 @@ class Test
                
                if (t [0] != typeof (System.Runtime.CompilerServices.IsVolatile))
                        return 3;
+
+               fi = typeof (GTest<>).GetField ("str");
+               if (fi.GetCustomAttributes (true).Length != 0)
+                       return 10;
                
+               t = fi.GetRequiredCustomModifiers ();
+               if (t.Length != 1)
+                       return 11;
+               
+               if (t [0] != typeof (System.Runtime.CompilerServices.IsVolatile))
+                       return 12;
+
                Console.WriteLine ("OK");
                return 0;
        }
index 44fa5aa15dea66c66118e2dae5b30c60ce5e5bce..79a0bdca2faa48990aaafc7631478a92bf15b928 100644 (file)
@@ -826,13 +826,6 @@ class Tester
                Assert (MyEnum.Value_2, e11.Compile ().Invoke ());
        }
        
-       void ConstantTest_12 ()
-       {
-               Expression<Func<MyEnum>> e12 = () => new MyEnum ();
-               AssertNodeType (e12, ExpressionType.Constant);
-               Assert<MyEnum> (0, e12.Compile ().Invoke ());
-       }
-       
        void ConstantTest_13 ()
        {
                Expression<Func<int>> e13 = () => sizeof (byte);
@@ -1668,6 +1661,15 @@ class Tester
                AssertNodeType (e3, ExpressionType.MemberInit);
                var r3 = e3.Compile ().Invoke (33);
                Assert (33, r3.ShortProp);
+       }
+       
+       void MemberInitTest_4 ()
+       {
+               Expression<Func<int>> e = () => new int { };
+               
+               AssertNodeType (e, ExpressionType.MemberInit);
+               var r = e.Compile ().Invoke ();
+               Assert (0, r);
        }       
 
        void ModuloTest ()
@@ -2016,6 +2018,14 @@ class Tester
                Assert (new { A = 9, Value = "a" }, e5.Compile ().Invoke ());
        }       
 
+       // CSC bug: emits new MyEnum as a constant      
+       void NewTest_6 ()
+       {
+               Expression<Func<MyEnum>> e = () => new MyEnum ();
+               AssertNodeType (e, ExpressionType.New);
+               Assert<MyEnum> (0, e.Compile ().Invoke ());
+       }
+
        void NotTest ()
        {
                Expression<Func<bool, bool>> e = (bool a) => !a;
index ffa51102d6388b1923f9bdead33f4815efb20e0f..674b28f2232cd67556942b8d31f8ca1d54fa6545 100644 (file)
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>87</size>
+        <size>165</size>
+      </method>
+    </type>
+    <type name="GTest`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void .cctor()">
+        <size>13</size>
       </method>
     </type>
   </test>
       <method name="Void ConstantTest_11()">
         <size>59</size>
       </method>
-      <method name="Void ConstantTest_12()">
-        <size>59</size>
-      </method>
       <method name="Void ConstantTest_13()">
         <size>59</size>
       </method>
       <method name="Void AndTest_4()">
         <size>92</size>
       </method>
+      <method name="Void MemberInitTest_4()">
+        <size>66</size>
+      </method>
+      <method name="Void NewTest_6()">
+        <size>53</size>
+      </method>
     </type>
   </test>
   <test name="gtest-etree-02.cs">