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