separated .il and .cs tests
[mono.git] / mono / tests / Makefile.am
1
2 TEST_PROG=../interpreter/mint
3 JITTEST_PROG=../jit/mono
4 RUNTIME_ARGS=--config tests-config
5
6 CSC=csc /unsafe
7
8 BENCHSRC=fib.cs random.cs nested-loops.cs ackermann.cs tight-loop.cs sieve.cs
9
10 TEST_CS_SRC=                    \
11         array-init.cs           \
12         arraylist.cs            \
13         char-isnumber.cs        \
14         create-instance.cs      \
15         field-layout.cs         \
16         pack-layout.cs          \
17         hash-table.cs           \
18         test-ops.cs             \
19         obj.cs                  \
20         string.cs               \
21         stringbuilder.cs        \
22         switch.cs               \
23         outparm.cs              \
24         delegate.cs             \
25         bitconverter.cs         \
26         exception.cs            \
27         exception2.cs           \
28         exception3.cs           \
29         exception4.cs           \
30         exception5.cs           \
31         exception6.cs           \
32         exception7.cs           \
33         exception8.cs           \
34         exception10.cs          \
35         exception11.cs          \
36         exception12.cs          \
37         exception13.cs          \
38         exception14.cs          \
39         struct.cs               \
40         valuetype-gettype.cs    \
41         static-constructor.cs   \
42         pinvoke.cs              \
43         pinvoke1.cs             \
44         pinvoke2.cs             \
45         pinvoke3.cs             \
46         pinvoke4.cs             \
47         pinvoke5.cs             \
48         pinvoke6.cs             \
49         pinvoke7.cs             \
50         pinvoke8.cs             \
51         invoke.cs               \
52         box.cs                  \
53         array.cs                \
54         enum.cs                 \
55         enum2.cs                \
56         property.cs             \
57         enumcast.cs             \
58         assignable-tests.cs     \
59         array-cast.cs           \
60         cattr-compile.cs        \
61         custom-attr.cs          \
62         double-cast.cs          \
63         newobj-valuetype.cs     \
64         arraylist-clone.cs      \
65         setenv.cs               \
66         vtype.cs                \
67         isvaluetype.cs          \
68         iface6.cs               \
69         ipaddress.cs            \
70         array-vt.cs             \
71         interface1.cs           \
72         reflection-enum.cs      \
73         reflection-prop.cs      \
74         reflection4.cs          \
75         reflection5.cs          \
76         many-locals.cs          \
77         string-compare.cs       \
78         test-prime.cs           \
79         params.cs               \
80         reflection.cs           \
81         interface.cs            \
82         iface.cs                \
83         iface2.cs               \
84         iface3.cs               \
85         iface4.cs               \
86         virtual-method.cs       \
87         intptrcast.cs           \
88         indexer.cs              \
89         stream.cs               \
90         console.cs              \
91         shift.cs                \
92         jit-int.cs              \
93         jit-uint.cs             \
94         jit-long.cs             \
95         long.cs                 \
96         jit-ulong.cs            \
97         jit-float.cs            \
98         pop.cs                  \
99         time.cs                 \
100         appdomain.cs            \
101         appdomain-client.cs     \
102         pointer.cs              \
103         vararg.cs               \
104         rounding.cs             \
105         hashcode.cs             \
106         delegate1.cs            \
107         delegate2.cs            \
108         delegate3.cs            \
109         delegate4.cs            \
110         delegate5.cs            \
111         remoting1.cs            \
112         remoting2.cs            \
113         remoting3.cs            \
114         nonvirt.cs              \
115         largeexp.cs             \
116         largeexp2.cs            \
117         marshalbyref1.cs        \
118         static-ctor.cs          \
119         inctest.cs              \
120         bound.cs                \
121         array-invoke.cs         \
122         decimal.cs              \
123         marshal1.cs             \
124         marshal2.cs
125
126 TEST_IL_SRC=                    \
127         cpblkTest.il            \
128         jmpTest.il              \
129         calliTest.il            \
130         ckfiniteTest.il         \
131         locallocTest.il         \
132         initblkTest.il
133
134
135 TESTSI_CS=$(TEST_CS_SRC:.cs=.exe)
136 TESTSI_IL=$(TEST_IL_SRC:.il=.exe)
137 TESTBS=$(BENCHSRC:.cs=.exe)
138
139 EXTRA_DIST=test-driver $(TEST_CS_SRC) $(TEST_IL_SRC)
140
141 %.exe: %.il
142         ilasm $< /OUTPUT=$@
143
144 %.exe: %.cs
145         $(CSC) $<
146
147 test:   test_cs test_il
148
149 test_cs: $(TEST_PROG) $(TESTSI_CS) libtest.la
150         @failed=0; \
151         passed=0; \
152         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
153         for i in $(TESTSI_CS); do       \
154                 if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
155                 then \
156                         passed=`expr $${passed} + 1`; \
157                 else \
158                         failed=`expr $${failed} + 1`; \
159                 fi \
160         done; \
161         echo; echo ".cs: $${passed} test(s) passed. $${failed} test(s) failed."; echo
162
163 test_il: $(TEST_PROG) $(TESTSI_IL) libtest.la
164         @failed=0; \
165         passed=0; \
166         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
167         for i in $(TESTSI_IL); do       \
168                 if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
169                 then \
170                         passed=`expr $${passed} + 1`; \
171                 else \
172                         failed=`expr $${failed} + 1`; \
173                 fi \
174         done; \
175         echo; echo ".il: $${passed} test(s) passed. $${failed} test(s) failed."; echo
176
177 testb: $(TEST_PROG) $(TESTBS)
178         for i in $(TESTBS); do  \
179                 ./test-driver $(TEST_PROG) $$ii $(RUNTIME_ARGS);        \
180         done
181
182 testjit: $(JITTEST_PROG) $(TESTSI) $(TESTBS)
183         @failed=0; \
184         passed=0; \
185         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
186         for i in $(TESTSI) $(TESTBS); do        \
187                 if ./test-driver $(JITTEST_PROG) $$i $(RUNTIME_ARGS); \
188                 then \
189                         passed=`expr $${passed} + 1`; \
190                 else \
191                         failed=`expr $${failed} + 1`; \
192                 fi \
193         done; \
194         echo "$${passed} test(s) passed. $${failed} test(s) failed."
195
196 testjitspeed: $(JITTEST_PROG) $(TESTBS)
197         for i in $(TESTBS); do  \
198                 echo $$i;       \
199                 time $(JITTEST_PROG) $$i;       \
200         done
201
202 check:
203         @echo no check yet
204
205 noinst_LTLIBRARIES = libtest.la
206
207 libtest_la_LDFLAGS = -rpath `pwd`
208 libtest_la_SOURCES = libtest.c