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