Thread::Abort() support
[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         appdomain-client.cs     \
105         pointer.cs              \
106         vararg.cs               \
107         rounding.cs             \
108         hashcode.cs             \
109         delegate1.cs            \
110         delegate2.cs            \
111         delegate3.cs            \
112         delegate4.cs            \
113         delegate5.cs            \
114         delegate6.cs            \
115         delegate7.cs            \
116         remoting1.cs            \
117         remoting2.cs            \
118         remoting3.cs            \
119         nonvirt.cs              \
120         largeexp.cs             \
121         largeexp2.cs            \
122         marshalbyref1.cs        \
123         static-ctor.cs          \
124         inctest.cs              \
125         bound.cs                \
126         array-invoke.cs         \
127         decimal.cs              \
128         marshal1.cs             \
129         marshal2.cs             \
130         thread.cs               \
131         thread5.cs              \
132         thread6.cs
133
134 TEST_IL_SRC=                    \
135         cpblkTest.il            \
136         jmpTest.il              \
137         calliTest.il            \
138         ckfiniteTest.il         \
139         locallocTest.il         \
140         initblkTest.il
141
142
143 TESTSI_CS=$(TEST_CS_SRC:.cs=.exe)
144 TESTSI_IL=$(TEST_IL_SRC:.il=.exe)
145 TESTBS=$(BENCHSRC:.cs=.exe)
146
147 EXTRA_DIST=test-driver $(TEST_CS_SRC) $(TEST_IL_SRC)
148
149 %.exe: %.il
150         ilasm $< /OUTPUT=$@
151
152 %.exe: %.cs
153         $(CSC) $<
154
155 test:   test_cs test_il
156
157 test_cs: $(TEST_PROG) $(TESTSI_CS) libtest.la
158         @failed=0; \
159         passed=0; \
160         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
161         for i in $(TESTSI_CS); do       \
162                 if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
163                 then \
164                         passed=`expr $${passed} + 1`; \
165                 else \
166                         failed=`expr $${failed} + 1`; \
167                 fi \
168         done; \
169         echo; echo ".cs: $${passed} test(s) passed. $${failed} test(s) failed."; echo
170
171 test_il: $(TEST_PROG) $(TESTSI_IL) libtest.la
172         @failed=0; \
173         passed=0; \
174         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
175         for i in $(TESTSI_IL); do       \
176                 if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
177                 then \
178                         passed=`expr $${passed} + 1`; \
179                 else \
180                         failed=`expr $${failed} + 1`; \
181                 fi \
182         done; \
183         echo; echo ".il: $${passed} test(s) passed. $${failed} test(s) failed."; echo
184
185 testb: $(TEST_PROG) $(TESTBS)
186         for i in $(TESTBS); do  \
187                 ./test-driver $(TEST_PROG) $$ii $(RUNTIME_ARGS);        \
188         done
189
190 testjit: $(JITTEST_PROG) $(TESTSI_CS) $(TESTSI_IL) $(TESTBS)
191         @failed=0; \
192         passed=0; \
193         export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
194         for i in $(TESTSI_CS) $(TESTSI_IL) $(TESTBS); do        \
195                 if ./test-driver $(JITTEST_PROG) $$i $(RUNTIME_ARGS); \
196                 then \
197                         passed=`expr $${passed} + 1`; \
198                 else \
199                         failed=`expr $${failed} + 1`; \
200                 fi \
201         done; \
202         echo "$${passed} test(s) passed. $${failed} test(s) failed."
203
204 testjitspeed: $(JITTEST_PROG) $(TESTBS)
205         for i in $(TESTBS); do  \
206                 echo $$i;       \
207                 time $(JITTEST_PROG) $$i;       \
208         done
209
210 check:
211         @echo no check yet
212
213 noinst_LTLIBRARIES = libtest.la
214
215 libtest_la_LDFLAGS = -rpath `pwd`
216 libtest_la_SOURCES = libtest.c