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