Merge pull request #5382 from kumpera/pedump_fix
[mono.git] / mono / tests / verifier / make_prefix_test.sh
1 #! /bin/sh
2
3 SED="sed"
4 if [ `which gsed 2> /dev/null` ] ; then 
5         SED="gsed"
6 fi
7
8 TEST_NAME=$1
9 TEST_VALIDITY=$2
10 TEST_OP=$3
11 TEST_LOAD_OP=$4
12 TEST_TYPE=$5
13
14 TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
15 echo $TEST_FILE
16 $SED  -e "s/TYPE/${TEST_TYPE}/g" -e "s/OPCODE/${TEST_OP}/g"  -e "s/BEFORE_OP/${TEST_BEFORE_OP}/g" -e "s/LOAD_OP/${TEST_LOAD_OP}/g"> $TEST_FILE <<//EOF
17
18 .assembly extern mscorlib
19 {
20   .ver 2:0:0:0
21   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
22 }
23
24 .assembly 'prefix_test'
25 {
26   .hash algorithm 0x00008004
27   .ver  0:0:0:0
28 }
29
30 .module cmmp.exe
31
32
33 .class ClassA extends [mscorlib]System.Object
34 {
35     .field public int32 valid
36
37         .method public hidebysig  specialname  rtspecialname instance default void .ctor (int32&)  cil managed 
38         {
39                 .maxstack 8
40                 ldarg.0 
41                 call instance void object::.ctor()
42                 ret 
43         }
44
45         .method public virtual void VirtTest (ClassA& arg)
46         {
47                 ret
48         }
49 }
50
51 .class public Template\`1<T>
52         extends [mscorlib]System.Object
53 {
54 }
55
56 .class sealed public StructTemplate\`1<T>
57         extends [mscorlib]System.ValueType
58 {
59         .field public !0 t
60 }
61
62 .class sealed public StructTemplate2\`1<T>
63         extends [mscorlib]System.ValueType
64 {
65         .field public !0 t
66 }
67
68
69 .class public auto ansi sealed MyStruct
70         extends [mscorlib]System.ValueType
71 {
72         .field public int32 foo
73         .field public static int32 stFoo
74         .field public native int ptr
75
76         .method public static void Test ()
77         {
78                 ret
79         }
80
81 }
82
83
84 .class public auto ansi sealed MyEnum
85         extends [mscorlib]System.Enum
86 {
87     .field public specialname  rtspecialname  int32 value__
88     .field public static  literal  valuetype MyEnum B = int32(0x00000000)
89     .field public static  literal  valuetype MyEnum C = int32(0x00000001)
90 }
91
92 .method public static int32 Main ()
93 {
94         .entrypoint
95         .maxstack 8
96         .locals init (TYPE V_0)
97
98         LOAD_OP
99
100         OPCODE
101
102
103         leave END
104 END:
105         ldc.i4.0
106         ret 
107 }
108
109 //EOF