svn path=/trunk/mcs/; revision=104772
[mono.git] / mono / tests / verifier / make_bad_op_test.sh
1 #! /bin/sh
2
3 TEST_NAME=$1
4 TEST_VALIDITY=$2
5 TEST_BYTE_0=$3
6 TEST_BYTE_1=$4
7
8
9 if [ "$TEST_BYTE_1" == "" ] ; then
10         TEST_BYTE_1="0";
11 fi
12
13 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
14 echo $TEST_FILE
15 sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/BYTE_0/${TEST_BYTE_0}/g" -e "s/BYTE_1/${TEST_BYTE_1}/g" > $TEST_FILE <<//EOF
16
17 // VALIDITY CIL which breaks the ECMA-335 rules. 
18 // this CIL should fail verification by a conforming CLI verifier.
19
20 .assembly '${TEST_NAME}_generated'
21 {
22   .hash algorithm 0x00008004
23   .ver  0:0:0:0
24 }
25
26 .method public static int32 Main() cil managed
27 {
28         .entrypoint
29         .maxstack 2
30         .locals init ()
31
32         .emitbyte BYTE_0
33         .emitbyte BYTE_1
34
35         leave end
36 end:
37         ldc.i4.0
38         ret
39 }
40
41
42 //EOF