2002-02-20 Nick Drochak <ndrochak@gol.com>
[mono.git] / mcs / tests / makefile
1 CSC=csc.exe
2
3 MCS=../mcs/mcs.exe
4 VERIFY=../tools/verifier.exe
5
6 TEST_SOURCES = \
7         test-1  test-2  test-3  test-4  test-5  test-6  test-7  test-8  test-9  test-10 \
8         test-11 test-12 test-13 test-14 test-15 test-16 test-17 test-18 test-19 test-20 \
9         test-21 test-22 test-23 test-24 test-25 test-26 test-27 test-28         test-30 \
10         test-31 test-32 test-33 test-34 test-35 test-36 test-37         test-39 test-40 \
11         test-41 test-42 test-43 test-44 test-45 test-46 test-47 test-48 test-49 test-50 \
12         test-51 test-52 test-53 test-54 test-55 test-56 test-57         test-59         \
13         test-61 test-62 test-63 test-64 test-65 test-66 test-67 test-68 test-69 test-70 \
14         test-71 test-72 test-73
15
16 UNSAFE_SOURCES = \
17         unsafe-1
18
19 TEST_NOPASS = \
20         test-29 test-38 
21
22 test-compiler:
23         -rm *.exe
24         for i in $(TEST_SOURCES); do \
25                 if $(MCS) $$i.cs > /dev/null; then \
26                         if ./$$i.exe; then \
27                                 echo $$i: ok; \
28                         else \
29                                 echo test $$i failed; exit; \
30                         fi; \
31                 else \
32                         echo compiler failed on $$i;   exit; \
33                 fi \
34         done
35
36 test-unsafe:
37         for i in $(UNSAFE_SOURCES); do \
38                 if $(MCS) --unsafe $$i.cs > /dev/null; then \
39                         if ./$$i.exe; then \
40                                 echo $$i: ok; \
41                         else \
42                                 echo test $$i failed; exit; \
43                         fi; \
44                 else \
45                         echo compiler failed on $$i;   exit; \
46                 fi \
47         done
48
49 test-jit:
50         for i in $(TEST_SOURCES:.cs=.exe); do \
51                 if mono ./$$i.exe; then \
52                         echo $$i: ok; \
53                 else \
54                         echo test $$i failed; exit; \
55                 fi \
56         done
57
58
59
60 verify:
61         for i in $(TEST_SOURCES); do \
62                 if $(MCS) -o mcs-gen-code.exe $$i.cs > /dev/null; then \
63                         if $(CSC) /out:csc-gen-code.exe $$i.cs > /dev/null; then \
64                                 if $(VERIFY) mcs-gen-code.exe csc-gen-code.exe > /dev/null; then \
65                                         echo $$i: identical assemblies; \
66                                 else \
67                                         echo $$i: unidentical assemblies; exit; \
68                                 fi; \
69                         fi \
70                 fi \
71         done
72
73
74 casts.cs: gen-cast-test.cs
75         $(CSC) /out:csc-cast.exe gen-cast-test.cs
76         ./csc-cast > casts.cs
77
78 casts-csc.exe: casts.cs
79         $(CSC) /out:casts-csc.exe casts.cs
80
81 casts.exe: casts.cs
82         $(MCS) casts.cs
83
84 csc-casts.out: casts-csc.exe
85         ./casts-csc.exe > csc-casts.out
86
87 msc-casts.out: casts.exe
88         ./casts.exe > msc-casts.out
89
90 test-casts: csc-casts.out msc-casts.out
91         cmp csc-casts.out msc-casts.out
92
93 clean:
94         rm *.exe
95         rm *.out
96         rm casts.cs
97