TEST_PROG=../interpreter/mint
JITTEST_PROG=../mini/mono
-RUNTIME_ARGS=--config tests-config
-
+RUNTIME_ARGS=--config tests-config --optimize=all
#CSC=csc /unsafe
CSC=mcs --unsafe -nowarn:0162
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 \
+ pinvoke14.cs \
+ pinvoke15.cs \
+ pinvoke16.cs \
+ pinvoke17.cs \
+ pinvoke18.cs \
invoke.cs \
invoke2.cs \
+ runtime-invoke.cs \
+ invoke-string-ctors.cs \
reinit.cs \
box.cs \
array.cs \
appdomain2.cs \
appdomain3.cs \
appdomain-client.cs \
+ appdomain-unload.cs \
pointer.cs \
rounding.cs \
hashcode.cs \
marshal1.cs \
marshal2.cs \
marshal3.cs \
- marshal4.cs \
marshal5.cs \
marshal6.cs \
marshal7.cs \
marshal8.cs \
+ marshal9.cs \
+ marshal10.cs \
+ test-byval-in-struct.cs \
thread.cs \
thread5.cs \
thread6.cs \
+ thread-static.cs \
+ context-static.cs \
float-pop.cs \
interfacecast.cs \
array3.cs \
- classinit.cs \
+ classinit.cs \
+ classinit2.cs \
synchronized.cs \
+ async_read.cs \
+ threadpool.cs \
+ threadpool1.cs \
+ base-definition.cs \
+ bug-27420.cs \
+ bug-47295.cs \
+ bug-46781.cs \
+ bug-48015.cs \
+ bug-42136.cs
+
+if X86
+PLATFORM_DISABLED_TESTS=
+endif
+
+DISABLED_TESTS= \
+ $(PLATFORM_DISABLED_TESTS)
+
+# These only compile with MS CSC
+TEST_CSC_SRC= \
vararg.cs
TEST_IL_SRC= \
cpblkTest.il \
- jmpTest.il \
+ jmpTest.il \
calliTest.il \
ckfiniteTest.il \
locallocTest.il \
initblkTest.il \
- bug-29859.il
+ qt-instance.il \
+ vararg.il \
+ bug-29859.il \
+ even-odd.il
TESTSI_CS=$(TEST_CS_SRC:.cs=.exe)
TESTSI_IL=$(TEST_IL_SRC:.il=.exe)
TESTBS=$(BENCHSRC:.cs=.exe)
-EXTRA_DIST=test-driver $(TEST_CS_SRC) $(TEST_IL_SRC)
+EXTRA_DIST=test-driver $(TEST_CS_SRC) $(TEST_IL_SRC) $(BENCHSRC)
%.exe: %.il
- ilasm $< /OUTPUT=$@
+ ilasm -out:$@ $<
-%.exe: %.cs
- $(CSC) $<
+%.exe: %.cs TestDriver.dll
+ $(CSC) -r:TestDriver.dll -out:$@ $<
test: testjit
+TestDriver.dll:
+ $(CSC) -target:library -o $@ $(srcdir)/../mini/TestDriver.cs
+
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_CS); do \
- if ./test-driver $(TEST_PROG) $$i $(RUNTIME_ARGS); \
+ if $(srcdir)/test-driver $(TEST_PROG) $$i "$(DISABLED_TESTS)" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
+ if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
fi \
done; \
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); \
+ if $(srcdir)/test-driver $(TEST_PROG) $$i "$(DISABLED_TESTS)" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
+ if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
fi \
done; \
testb: $(TEST_PROG) $(TESTBS)
for i in $(TESTBS); do \
- ./test-driver $(TEST_PROG) $$ii $(RUNTIME_ARGS); \
+ $(srcdir)/test-driver $(TEST_PROG) $$i "$(DISABLED_TESTS)" $(RUNTIME_ARGS); \
done
-testjit: $(JITTEST_PROG) $(TESTSI_CS) $(TESTSI_IL) $(TESTBS)
+testjit: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la
@failed=0; \
passed=0; \
failed_tests="";\
export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
- for i in $(TESTSI_CS) $(TESTSI_IL) $(TESTBS); do \
- if ./test-driver $(JITTEST_PROG) $$i $(RUNTIME_ARGS); \
+ for i in $(TESTSI_CS) $(TESTBS) $(TESTSI_IL); do \
+ rm -f $${i}.so; \
+ if $(srcdir)/test-driver $(JITTEST_PROG) $$i "$(DISABLED_TESTS)" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
fi \
done; \
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;
+ if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; for i in $${failed_tests}; do echo $${i}; done; fi;
+
+testaot: $(TESTSI_CS) $(TESTBS) libtest.la
+ @failed=0; \
+ passed=0; \
+ failed_tests="";\
+ export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
+ for i in $(TESTSI_CS) $(TESTBS); do \
+ rm -f $${i}.so; \
+ $(JITTEST_PROG) --aot $${i} > /dev/null; \
+ if $(srcdir)/test-driver $(JITTEST_PROG) $$i "$(DISABLED_TESTS)" $(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."; \
+ if [ $$failed != 0 ]; then echo -e "\nFailed tests:\n"; for i in $${failed_tests}; do echo $${i}; done; fi;
+
+testinterp: $(TESTSI_CS) $(TESTSI_IL) libtest.la
+ @failed=0; \
+ passed=0; \
+ failed_tests="";\
+ export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
+ for i in $(TESTSI_CS) $(TESTSI_IL); do \
+ if $(srcdir)/test-driver $(TEST_PROG) $$i "$(DISABLED_TESTS)" $(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."; \
+ 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 \
noinst_LTLIBRARIES = libtest.la
+INCLUDES = $(GLIB_CFLAGS)
+
libtest_la_LDFLAGS = -rpath `pwd`
libtest_la_SOURCES = libtest.c
+libtest_la_LIBADD = $(GLIB_LIBS)
+
+CLEANFILES = $(TESTSI_CS) $(TESTSI_IL) TestDriver.dll *.stdout
-CLEANFILES = $(TESTSI_CS) $(TESTSI_IL)
\ No newline at end of file