2002-03-14 Miguel de Icaza <miguel@ximian.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 test-74 test-75         test-77 test-78 test-79 test-80 \
15         test-81 test-82 test-83 test-84         test-86 test-87
16
17 UNSAFE_SOURCES = \
18         unsafe-1 unsafe-2
19
20 TEST_NOPASS = \
21         test-29 test-38 test-76
22
23 all: test-compiler test-unsafe
24
25 test-compiler:
26         -rm *.exe
27         for i in $(TEST_SOURCES); do \
28                 if $(MCS) $$i.cs > /dev/null; then \
29                         if ./$$i.exe; then \
30                                 echo $$i: ok; \
31                         else \
32                                 echo test $$i failed; exit; \
33                         fi; \
34                 else \
35                         echo compiler failed on $$i;   exit; \
36                 fi \
37         done
38
39 test-unsafe:
40         for i in $(UNSAFE_SOURCES); do \
41                 if $(MCS) --unsafe $$i.cs > /dev/null; then \
42                         if ./$$i.exe; then \
43                                 echo $$i: ok; \
44                         else \
45                                 echo test $$i failed; exit; \
46                         fi; \
47                 else \
48                         echo compiler failed on $$i;   exit; \
49                 fi \
50         done
51
52 test-jit:
53         for i in $(TEST_SOURCES:.cs=.exe); do \
54                 if mono ./$$i.exe; then \
55                         echo $$i: ok; \
56                 else \
57                         echo test $$i failed; exit; \
58                 fi \
59         done
60
61
62
63 verify:
64         for i in $(TEST_SOURCES); do \
65                 if $(MCS) -o mcs-gen-code.exe $$i.cs > /dev/null; then \
66                         if $(CSC) /out:csc-gen-code.exe $$i.cs > /dev/null; then \
67                                 if $(VERIFY) mcs-gen-code.exe csc-gen-code.exe > /dev/null; then \
68                                         echo $$i: identical assemblies; \
69                                 else \
70                                         echo $$i: unidentical assemblies; exit; \
71                                 fi; \
72                         fi \
73                 fi \
74         done
75
76
77 casts.cs: gen-cast-test.cs
78         $(CSC) /out:csc-cast.exe gen-cast-test.cs
79         ./csc-cast > casts.cs
80
81 casts-csc.exe: casts.cs
82         $(CSC) /out:casts-csc.exe casts.cs
83
84 casts.exe: casts.cs
85         $(MCS) casts.cs
86
87 csc-casts.out: casts-csc.exe
88         ./casts-csc.exe > csc-casts.out
89
90 msc-casts.out: casts.exe
91         ./casts.exe > msc-casts.out
92
93 test-casts: csc-casts.out msc-casts.out
94         cmp csc-casts.out msc-casts.out
95
96 clean:
97         rm *.exe
98         rm *.out
99         rm casts.cs
100