2009-05-28 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Fri, 29 May 2009 01:57:21 +0000 (01:57 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Fri, 29 May 2009 01:57:21 +0000 (01:57 -0000)
* cli-blob-tests.md: Methodref signature tests.

* assembly-with-signatures.cs: File with vararg call.

* Makefile: Add new dependency.

svn path=/trunk/mono/; revision=135039

mono/tests/metadata-verifier/Changelog
mono/tests/metadata-verifier/Makefile
mono/tests/metadata-verifier/assembly-with-signatures.cs [new file with mode: 0644]
mono/tests/metadata-verifier/cli-blob-tests.md

index 6e139958e682479def66e9f3b773a719e0e35d88..67a6d0b47fca2dffce17efb7012c24c74c1974a3 100644 (file)
@@ -1,3 +1,11 @@
+2009-05-28 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * cli-blob-tests.md: Methodref signature tests.
+
+       * assembly-with-signatures.cs: File with vararg call.
+
+       * Makefile: Add new dependency.
+
 2009-05-27 Rodrigo Kumpera  <rkumpera@novell.com>
 
        * cli-blob-tests.md: Tests for parameters and generics
index 0021026987235033bd7156c09911e0f3393be4f3..cd3ac78373a8041dd8cc77c03dfe0c36c24d9beb 100644 (file)
@@ -40,6 +40,9 @@ assembly-with-module.exe: assembly-with-module.cs module.netmodule
 assembly-with-generics.exe: assembly-with-generics.cs
        gmcs assembly-with-generics.cs
 
+assembly-with-signatures.exe: assembly-with-signatures.cs
+       gmcs assembly-with-signatures.cs
+
 TEST_BINARIES = assembly-with-resource.exe \
        assembly-with-complex-type.exe \
        assembly-with-methods.exe \
@@ -53,6 +56,7 @@ TEST_BINARIES = assembly-with-resource.exe \
        assembly-with-resource.exe \
        assembly-with-generics.exe \
        assembly-with-custommod.exe \
+       assembly-with-signatures.exe \
        simple-assembly.exe
 
 
diff --git a/mono/tests/metadata-verifier/assembly-with-signatures.cs b/mono/tests/metadata-verifier/assembly-with-signatures.cs
new file mode 100644 (file)
index 0000000..b288b8b
--- /dev/null
@@ -0,0 +1,18 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Runtime.CompilerServices;
+
+public static class Driver
+{
+       public static void Test ()
+       {
+               Console.WriteLine ("x",1,2,3,4,__arglist (1,2,3));
+               "ff".Substring (1,1);
+       }
+
+       public static void Main()//keep it as last method in the file
+       {
+       }
+}
+
+
index 53bcec8a96804d0c8de1923861a8b5b6304ad305..f5db304e6e26e3a1b51143a3cac7e1caa6a29b78 100644 (file)
@@ -84,4 +84,21 @@ method-def-ret-misc {
        #byref of typedref
        invalid offset blob.i (table-row (6 4) + 10) + 4 set-byte 0x16
 
+}
+
+method-ref-sig {
+       assembly assembly-with-signatures.exe
+
+       #member ref 0 is has a vararg sig 
+       #member ref 1 don't use vararg
+
+       #2 sentinels
+       #bytes: size cconv pcount void str obj obj obj obj ... i32 i32 i32
+       invalid offset blob.i (table-row (0xA 0) + 4) + 10 set-byte 0x41
+       invalid offset blob.i (table-row (0xA 0) + 4) + 11 set-byte 0x41
+
+       #sentinel but not vararg
+       invalid offset blob.i (table-row (0xA 0) + 4) + 1 set-byte 0
+
+       
 }
\ No newline at end of file