New tests.
[mono.git] / mono / tests / verifier / make_store_test.sh
index 3c31e51098e527f8a9c2e38a5cfde03aeeb34b15..78e6081721aeba8b433e93ff2503baad86ce33b5 100755 (executable)
@@ -1,5 +1,10 @@
 #! /bin/sh
 
+SED="sed"
+if [ `which gsed 2> /dev/null` ] ; then 
+       SED="gsed"
+fi
+
 TEST_NAME=$1
 TEST_VALIDITY=$2
 TEST_OP=$3
@@ -9,9 +14,9 @@ TEST_TYPE2=$5
 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
 TEST_FILE=${TEST_NAME}_generated.il
 echo $TEST_FILE
-TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
-TEST_TYPE2=`echo $TEST_TYPE2 | sed -s 's/&/\\\&/'`
-sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/OPCODE/${TEST_OP}/g" > $TEST_FILE <<//EOF
+TEST_TYPE1=`echo $TEST_TYPE1 | $SED -s 's/&/\\\&/'`
+TEST_TYPE2=`echo $TEST_TYPE2 | $SED -s 's/&/\\\&/'`
+$SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/OPCODE/${TEST_OP}/g" > $TEST_FILE <<//EOF
 
 // VALIDITY CIL which breaks the ECMA-335 rules. 
 // this CIL should fail verification by a conforming CLI verifier.
@@ -49,7 +54,8 @@ sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/
        .field private int32 v
 }
 
-.method public static int32 f(TYPE1 arg)
+
+.method public static void Foo(TYPE1 arg, TYPE2 arg2) cil managed
 {
        .maxstack 2
        .locals init (
@@ -57,20 +63,22 @@ sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/
            TYPE2 V_1
        )
        ldloc.1
-       OPCODE // VALIDITY, TYPE2& cannot be stored in TYPE1.
-       ldc.i4.0
+       OPCODE // VALIDITY, TYPE2 cannot be stored in TYPE1.
        ret
 }
 
-.method public static int32 Main() cil managed
+.method public static void Main() cil managed
 {
        .entrypoint
-       .maxstack 2
+       .maxstack 4
        .locals init (
-           TYPE1 V_0
+           TYPE1 V_0,
+           TYPE2 V_1
        )
        ldloc.0
-       call int32 f(TYPE1)
+       ldloc.1
+       call void Foo(TYPE1, TYPE2)
+
        ret
 }
-//EOF
\ No newline at end of file
+//EOF