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