39a93fdd1101cb9be013578fe29e514f4e28b10d
[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         pinvoke9.cs             \
52         pinvoke10.cs            \
53         pinvoke11.cs            \
54         pinvoke12.cs            \
55         invoke.cs               \
56         invoke2.cs              \
57         reinit.cs               \
58         box.cs                  \
59         array.cs                \
60         enum.cs                 \
61         enum2.cs                \
62         property.cs             \
63         enumcast.cs             \
64         assignable-tests.cs     \
65         array-cast.cs           \
66         cattr-compile.cs        \
67         cattr-field.cs          \
68         cattr-object.cs         \
69         custom-attr.cs          \
70         double-cast.cs          \
71         newobj-valuetype.cs     \
72         arraylist-clone.cs      \
73         setenv.cs               \
74         vtype.cs                \
75         isvaluetype.cs          \
76         iface6.cs               \
77         ipaddress.cs            \
78         array-vt.cs             \
79         interface1.cs           \
80         reflection-enum.cs      \
81         reflection-prop.cs      \
82         reflection4.cs          \
83         reflection5.cs          \
84         many-locals.cs          \
85         string-compare.cs       \
86         test-prime.cs           \
87         params.cs               \
88         reflection.cs           \
89         interface.cs            \
90         iface.cs                \
91         iface2.cs               \
92         iface3.cs               \
93         iface4.cs               \
94         virtual-method.cs       \
95         intptrcast.cs           \
96         indexer.cs              \
97         stream.cs               \
98         console.cs              \
99         shift.cs                \
100         jit-int.cs              \
101         jit-uint.cs             \
102         jit-long.cs             \
103         long.cs                 \
104         jit-ulong.cs            \
105         jit-float.cs            \
106         pop.cs                  \
107         time.cs                 \
108         appdomain.cs            \
109         appdomain1.cs           \
110         appdomain2.cs           \
111         appdomain-client.cs     \
112         pointer.cs              \
113         vararg.cs               \
114         rounding.cs             \
115         hashcode.cs             \
116         delegate1.cs            \
117         delegate2.cs            \
118         delegate3.cs            \
119         delegate4.cs            \
120         delegate5.cs            \
121         delegate6.cs            \
122         delegate7.cs            \
123         remoting1.cs            \
124         remoting2.cs            \
125         remoting3.cs            \
126         nonvirt.cs              \
127         largeexp.cs             \
128         largeexp2.cs            \
129         marshalbyref1.cs        \
130         static-ctor.cs          \
131         inctest.cs              \
132         bound.cs                \
133         array-invoke.cs         \
134         decimal.cs              \
135         decimal-array.cs        \
136         marshal1.cs             \
137         marshal2.cs             \
138         marshal3.cs             \
139         marshal4.cs             \
140         thread.cs               \
141         thread5.cs              \
142         thread6.cs              \
143         float-pop.cs            \
144         interfacecast.cs        \
145         array3.cs
146
147 TEST_IL_SRC=                    \
148         cpblkTest.il            \
149         jmpTest.il              \
150         calliTest.il            \
151         ckfiniteTest.il         \
152         locallocTest.il         \
153         initblkTest.il
154
155
156 TESTSI_CS=$(TEST_CS_SRC:.cs=.exe)
157 TESTSI_IL=$(TEST_IL_SRC:.il=.exe)
158 TESTBS=$(BENCHSRC:.cs=.exe)
159
160 EXTRA_DIST=test-driver $(TEST_CS_SRC) $(TEST_IL_SRC)
161
162 %.exe: %.il
163         ilasm $< /OUTPUT=$@
164
165 %.exe: %.cs
166         $(CSC) $<
167
168 test:   test_cs test_il
169
170 test_cs: $(TEST_PROG) $(TESTSI_CS) libtest.la
171         @failed=0; \
172         passed=0; \
173         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
174         for i in $(TESTSI_CS); do       \
175                 if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
176                 then \
177                         passed=`expr $${passed} + 1`; \
178                 else \
179                         failed=`expr $${failed} + 1`; \
180                 fi \
181         done; \
182         echo; echo ".cs: $${passed} test(s) passed. $${failed} test(s) failed."; echo
183
184 test_il: $(TEST_PROG) $(TESTSI_IL) libtest.la
185         @failed=0; \
186         passed=0; \
187         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
188         for i in $(TESTSI_IL); do       \
189                 if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
190                 then \
191                         passed=`expr $${passed} + 1`; \
192                 else \
193                         failed=`expr $${failed} + 1`; \
194                 fi \
195         done; \
196         echo; echo ".il: $${passed} test(s) passed. $${failed} test(s) failed."; echo
197
198 testb: $(TEST_PROG) $(TESTBS)
199         for i in $(TESTBS); do  \
200                 ./test-driver $(TEST_PROG) $$ii $(RUNTIME_ARGS);        \
201         done
202
203 testjit: $(JITTEST_PROG) $(TESTSI_CS) $(TESTSI_IL) $(TESTBS)
204         @failed=0; \
205         passed=0; \
206         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
207         for i in $(TESTSI_CS) $(TESTSI_IL) $(TESTBS); do        \
208                 if ./test-driver $(JITTEST_PROG) $$i $(RUNTIME_ARGS); \
209                 then \
210                         passed=`expr $${passed} + 1`; \
211                 else \
212                         failed=`expr $${failed} + 1`; \
213                 fi \
214         done; \
215         echo "$${passed} test(s) passed. $${failed} test(s) failed."
216
217 testjitspeed: $(JITTEST_PROG) $(TESTBS)
218         for i in $(TESTBS); do  \
219                 echo $$i;       \
220                 time $(JITTEST_PROG) $$i;       \
221         done
222
223 check:
224         @echo no check yet
225
226 noinst_LTLIBRARIES = libtest.la
227
228 libtest_la_LDFLAGS = -rpath `pwd`
229 libtest_la_SOURCES = libtest.c