2007-10-26 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / tests / verifier / Makefile
1
2 %.exe: %.cil
3         ilasm -out:$@ $<
4
5 compile-stamp: generate-stamp
6         for i in *.il; do ilasm2 $$i; done
7         for i in *.cs; do gmcs $$i; done
8         touch compile-stamp
9
10 clean:
11         for i in *generated*; do rm $$i; done
12         for i in *.exe; do rm $$i; done
13         rm generate-stamp compile-stamp
14
15 generate-stamp: make_tests.sh make_bin_test.sh make_exception_branch_test.sh make_obj_store_test.sh \
16                 make_stack_0_pop_test.sh make_stack_0_test.sh make_stack_1_pop_test.sh \
17                 make_stack_merge_test.sh make_store_test.sh make_unary_test.sh 
18         ./make_tests.sh
19         touch generate-stamp
20
21 test: compile-stamp run-test
22
23 run-test:
24         @for i in *.exe; do \
25                 #echo $$i; \
26                 TEST=`echo $$i | cut -d '.' -f 1`; \
27                 RES=99; \
28                 FIRST=`echo $$i | cut -d '_' -f 1`; \
29                 if [ "$$FIRST" == "invalid" ]; \
30                 then \
31                         RES=3; \
32                 fi; \
33                 if [ "$$FIRST" == "unverifiable" ]; \
34                 then \
35                         RES=2; \
36                 fi; \
37                 if [ "$$FIRST" == "valid" ]; \
38                 then \
39                         RES=0; \
40                 fi; \
41                 ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null;\
42                 R=$$?; \
43                 if [ $$R != $$RES ]; \
44                 then \
45                         echo "$$TEST failed expected $$RES but got $$R"; \
46                 fi; \
47         done
48