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