TEST_PROG=../interpreter/mint
-JITTEST_PROG=../jit/mono
+JITTEST_PROG=../mini/mono
+RUNTIME_ARGS=--config tests-config
-CSC=csc /unsafe
+#CSC=csc /unsafe
+CSC=mcs --unsafe -nowarn:0162
BENCHSRC=fib.cs random.cs nested-loops.cs ackermann.cs tight-loop.cs sieve.cs
-TESTSRC= \
+TEST_CS_SRC= \
array-init.cs \
arraylist.cs \
+ checked.cs \
char-isnumber.cs \
+ create-instance.cs \
field-layout.cs \
+ pack-layout.cs \
hash-table.cs \
test-ops.cs \
obj.cs \
exception6.cs \
exception7.cs \
exception8.cs \
+ exception10.cs \
+ exception11.cs \
+ exception12.cs \
+ exception13.cs \
+ exception14.cs \
+ exception15.cs \
+ exception16.cs \
struct.cs \
valuetype-gettype.cs \
static-constructor.cs \
pinvoke.cs \
pinvoke1.cs \
+ pinvoke2.cs \
+ pinvoke3.cs \
+ pinvoke4.cs \
+ pinvoke5.cs \
+ pinvoke6.cs \
+ pinvoke7.cs \
+ pinvoke8.cs \
+ pinvoke9.cs \
+ pinvoke10.cs \
+ pinvoke11.cs \
+ pinvoke12.cs \
+ pinvoke13.cs \
+ invoke.cs \
+ invoke2.cs \
+ reinit.cs \
box.cs \
array.cs \
enum.cs \
assignable-tests.cs \
array-cast.cs \
cattr-compile.cs \
+ cattr-field.cs \
+ cattr-object.cs \
custom-attr.cs \
double-cast.cs \
newobj-valuetype.cs \
jit-float.cs \
pop.cs \
time.cs \
- appdomain.cs \
+ appdomain.cs \
+ appdomain1.cs \
+ appdomain2.cs \
+ appdomain3.cs \
appdomain-client.cs \
pointer.cs \
- vararg.cs \
rounding.cs \
hashcode.cs \
delegate1.cs \
delegate2.cs \
delegate3.cs \
delegate4.cs \
+ delegate5.cs \
+ delegate6.cs \
+ delegate7.cs \
remoting1.cs \
remoting2.cs \
remoting3.cs \
+ remoting4.cs \
+ remoting5.cs \
nonvirt.cs \
largeexp.cs \
largeexp2.cs \
marshalbyref1.cs \
static-ctor.cs \
- inctest.cs
+ inctest.cs \
+ bound.cs \
+ array-invoke.cs \
+ decimal.cs \
+ decimal-array.cs \
+ marshal1.cs \
+ marshal2.cs \
+ marshal3.cs \
+ marshal4.cs \
+ marshal5.cs \
+ marshal6.cs \
+ marshal7.cs \
+ marshal8.cs \
+ thread.cs \
+ thread5.cs \
+ thread6.cs \
+ thread-static.cs \
+ float-pop.cs \
+ interfacecast.cs \
+ array3.cs \
+ classinit.cs \
+ synchronized.cs \
+ vararg.cs
+TEST_IL_SRC= \
+ cpblkTest.il \
+ jmpTest.il \
+ calliTest.il \
+ ckfiniteTest.il \
+ locallocTest.il \
+ initblkTest.il \
+ even-odd.il \
+ bug-29859.il
-TESTSI=$(TESTSRC:.cs=.exe)
+
+TESTSI_CS=$(TEST_CS_SRC:.cs=.exe)
+TESTSI_IL=$(TEST_IL_SRC:.il=.exe)
TESTBS=$(BENCHSRC:.cs=.exe)
-EXTRA_DIST=test-driver $(TESTSRC)
+EXTRA_DIST=test-driver $(TEST_CS_SRC) $(TEST_IL_SRC)
+
+%.exe: %.il
+ ilasm $< /OUTPUT=$@
%.exe: %.cs
$(CSC) $<
-test: $(TEST_PROG) $(TESTSI) libtest.la
+test: testjit
+
+test_cs: $(TEST_PROG) $(TESTSI_CS) libtest.la
@failed=0; \
passed=0; \
export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
- for i in $(TESTSI); do \
- if ./test-driver $(TEST_PROG) $$i; \
+ for i in $(TESTSI_CS); do \
+ if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
failed=`expr $${failed} + 1`; \
fi \
done; \
- echo "$${passed} test(s) passed. $${failed} test(s) failed."
+ echo; echo ".cs: $${passed} test(s) passed. $${failed} test(s) failed."; echo
+
+test_il: $(TEST_PROG) $(TESTSI_IL) libtest.la
+ @failed=0; \
+ passed=0; \
+ export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
+ for i in $(TESTSI_IL); do \
+ if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
+ then \
+ passed=`expr $${passed} + 1`; \
+ else \
+ failed=`expr $${failed} + 1`; \
+ fi \
+ done; \
+ echo; echo ".il: $${passed} test(s) passed. $${failed} test(s) failed."; echo
testb: $(TEST_PROG) $(TESTBS)
for i in $(TESTBS); do \
- ./test-driver $(TEST_PROG) $$i; \
+ ./test-driver $(TEST_PROG) $$ii $(RUNTIME_ARGS); \
done
-testjit: $(JITTEST_PROG) $(TESTSI) $(TESTBS)
+testjit: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS)
@failed=0; \
passed=0; \
+ failed_tests="";\
export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
- for i in $(TESTSI) $(TESTBS); do \
- if ./test-driver $(JITTEST_PROG) $$i; \
+ for i in $(TESTSI_CS) $(TESTSI_IL) $(TESTBS); do \
+ if ./test-driver $(JITTEST_PROG) $$i $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
+ if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
+ failed_tests="$${failed_tests} $$i"; \
fi \
done; \
- echo "$${passed} test(s) passed. $${failed} test(s) failed."
+ echo "$${passed} test(s) passed. $${failed} test(s) failed."; \
+ if [ $$failed > 0 ]; then echo -e "\nFailed tests:\n"; for i in $${failed_tests}; do echo $${i}; done; fi;
testjitspeed: $(JITTEST_PROG) $(TESTBS)
for i in $(TESTBS); do \
libtest_la_LDFLAGS = -rpath `pwd`
libtest_la_SOURCES = libtest.c
+
+CLEANFILES = $(TESTSI_CS) $(TESTSI_IL)
+