Merge pull request #1668 from alexanderkyte/bug1856
[mono.git] / mono / tests / Makefile.am
index 7e1a953d9fa6143a665f09ca5d487ddaa98c5971..7d2e1acde3927d18df8577cd5817208a22cd9e02 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = cas assemblyresolve gc-descriptors
+SUBDIRS = assemblyresolve gc-descriptors
 
 check-local: assemblyresolve/test/asm.dll testjit test-generic-sharing test-type-load test-cattr-type-load test-reflection-load-with-context test_platform test-process-exit test-messages rm-empty-logs
 check-full: test-sgen check-local
@@ -13,8 +13,8 @@ TEST_PROG = ../interpreter/mint
 
 JITTEST_PROG = $(if $(VALGRIND), valgrind $(VALGRIND_ARGS),) $(if $(SGEN),$(top_builddir)/mono/mini/mono-sgen,$(top_builddir)/mono/mini/mono)
 
-TEST_PROG_RUN = MONO_SHARED_DIR=$(mono_build_root)/runtime MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(TEST_PROG)
-JITTEST_PROG_RUN = MONO_SHARED_DIR=$(mono_build_root)/runtime MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(JITTEST_PROG)
+TEST_PROG_RUN = MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(TEST_PROG)
+JITTEST_PROG_RUN = MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(JITTEST_PROG)
 
 RUNTIME_ARGS=--config tests-config --optimize=all --debug
 
@@ -57,6 +57,7 @@ BASE_TEST_CS_SRC=             \
        arraylist.cs            \
        assemblyresolve_event.cs        \
        assemblyresolve_event3.cs       \
+       assemblyresolve_event4.cs       \
        checked.cs              \
        char-isnumber.cs        \
        create-instance.cs      \
@@ -89,6 +90,7 @@ BASE_TEST_CS_SRC=             \
        exception15.cs          \
        exception16.cs          \
        exception17.cs          \
+       exception18.cs          \
        typeload-unaligned.cs   \
        struct.cs               \
        valuetype-gettype.cs    \
@@ -109,6 +111,7 @@ BASE_TEST_CS_SRC=           \
        array.cs                \
        enum.cs                 \
        enum2.cs                \
+       enum-intrins.cs         \
        property.cs             \
        enumcast.cs             \
        assignable-tests.cs     \
@@ -176,6 +179,8 @@ BASE_TEST_CS_SRC=           \
        delegate7.cs            \
        delegate8.cs            \
        delegate9.cs            \
+       delegate10.cs           \
+       delegate11.cs           \
        remoting1.cs            \
        remoting2.cs            \
        remoting3.cs            \
@@ -305,6 +310,7 @@ BASE_TEST_CS_SRC=           \
        generic-typedef.2.cs    \
        generic-marshalbyref.2.cs       \
        generic-xdomain.2.cs    \
+       dynamic-generic-size.cs \
        bug-431413.2.cs \
        bug-459285.2.cs \
        generic-virtual-invoke.2.cs     \
@@ -403,7 +409,9 @@ BASE_TEST_CS_SRC=           \
        unload-appdomain-on-shutdown.cs \
        block_guard_restore_aligment_on_exit.cs \
        thread_static_gc_layout.cs \
-       sleep.cs
+       sleep.cs \
+       bug-27147.cs    \
+       bug-17537.cs
 
 TEST_CS_SRC_DIST=      \
        $(BASE_TEST_CS_SRC)     \
@@ -552,11 +560,13 @@ endif
 # bug-459094.exe creates an extremely deep directory tree
 # delegate-invoke.exe depends on 929c6bc9b6d76a273f251e6f5dfacac36e9c38bd which was
 # reverted.
+# bug-Xamarin-5278.exe got broken by 5d26590e79da139a284459299aee95c25f4cd835
 DISABLED_TESTS=                        \
        delegate-async-exception.exe    \
        bug-348522.2.exe        \
        bug-459094.exe \
        delegate-invoke.exe \
+       bug-Xamarin-5278.exe \
        $(PLATFORM_DISABLED_TESTS) \
        $(EXTRA_DISABLED_TESTS)
 
@@ -662,7 +672,7 @@ TESTSI_IL=$(TEST_IL_SRC:.il=.exe)
 TESTBS=$(BENCHSRC:.cs=.exe)
 STRESS_TESTS=$(STRESS_TESTS_SRC:.cs=.exe)
 
-EXTRA_DIST=test-driver $(TEST_CS_SRC_DIST) $(TEST_IL_SRC) \
+EXTRA_DIST=test-driver test-runner.cs $(TEST_CS_SRC_DIST) $(TEST_IL_SRC) \
        $(BENCHSRC) $(STRESS_TESTS_SRC) stress-runner.pl $(PREREQ_IL_SRC) $(PREREQ_CS_SRC)
 
 %.exe: %.il
@@ -699,7 +709,7 @@ tests: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_
 #
 # Test that no symbols are missed in eglib-remap.h
 #
-OK_G_SYMBOLS='g_list\|g_slist\|g_concat_dir_and_file\|g_Ctoc'
+OK_G_SYMBOLS='g_list\|g_slist\|g_concat_dir_and_file\|g_Ctoc\'
 if NACL_CODEGEN
 test-eglib-remap:
 else
@@ -837,7 +847,7 @@ runtest-managed: test-runner.exe $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la
        $(RUNTIME) ./test-runner.exe -j a --disabled "$${disabled_tests}" $(TESTSI_CS) $(TESTBS) $(TESTSI_IL)
 
 testjit:
-       @if test x$(M) != x; then $(MAKE) runtest-managed; else $(MAKE) runtest; fi
+       @if test x$(M) != x0; then $(MAKE) runtest-managed; else $(MAKE) runtest; fi
 
 testaot:
        @$(MAKE) AOT=1 runtest
@@ -880,7 +890,7 @@ stresstest: $(STRESS_TESTS)
 testbundle: console.exe
        @echo "Testing mkbundle..."
        @$(MKBUNDLE) --static console.exe > mkbundle.stdout
-       @$(with_mono_path) MONO_CFG_DIR=$(mono_cfg_dir) MONO_SHARED_DIR=$(mono_build_root)/runtime ./a.out >> mkbundle.stdout
+       @$(with_mono_path) MONO_CFG_DIR=$(mono_cfg_dir) ./a.out >> mkbundle.stdout
        @- rm -rf a.out
 
 EXTRA_DIST += load-missing.il t-missing.cs load-exceptions.cs
@@ -901,12 +911,11 @@ test-cattr-type-load: TestDriver.dll custom-attr-errors.cs custom-attr-errors-li
        @$(RUNTIME) custom-attr-errors.exe > custom-attr-errors.exe.stdout 2> custom-attr-errors.exe.stderr
 
 EXTRA_DIST += reflection-load-with-context-lib.cs reflection-load-with-context-second-lib.cs reflection-load-with-context.cs
-test-reflection-load-with-context: TestDriver.dll reflection-load-with-context-lib.cs reflection-load-with-context-second-lib.cs reflection-load-with-context.cs
+test-reflection-load-with-context: reflection-load-with-context-lib.cs reflection-load-with-context-second-lib.cs reflection-load-with-context.exe
        rm -rf reflection-load-dir
        mkdir reflection-load-dir
        $(MCS) /t:library $(srcdir)/reflection-load-with-context-second-lib.cs -out:reflection-load-dir/reflection-load-with-context-second-lib.dll
        $(MCS) /t:library -r:reflection-load-dir/reflection-load-with-context-second-lib.dll $(srcdir)/reflection-load-with-context-lib.cs -out:reflection-load-dir/reflection-load-with-context-lib.dll
-       $(MCS) reflection-load-with-context.cs
        @echo "Testing reflection-load-with-context.cs.exe..."
        @$(RUNTIME) reflection-load-with-context.exe > reflection-load-with-context.exe.stdout 2> reflection-load-with-context.exe.stderr
 
@@ -951,10 +960,12 @@ SGEN_CONFIGURATIONS =     \
 SGEN_BRIDGE_CONFIGURATIONS =   \
        "|plain"        \
        ",major=marksweep-conc|ms-conc" \
-       ",minor=split|ms-split" \
-       ",bridge-implementation=new|plain-new-bridge"   \
-       ",bridge-implementation=new,major=marksweep-conc|ms-conc-new-bridge"    \
-       ",bridge-implementation=new,minor=split|ms-split-new-bridge"
+       "minor=split|ms-split"  \
+       "bridge-implementation=new|plain-new-bridge"    \
+       "bridge-implementation=new,major=marksweep-conc|ms-conc-new-bridge"     \
+       "bridge-implementation=new,minor=split|ms-split-new-bridge"     \
+       "bridge-implementation=tarjan|plain-tarjan-bridge"      \
+       "bridge-implementation=tarjan,minor=split|ms-split-tarjan-bridge"
 
 sgen-regular-tests: $(SGEN_TESTS)
        @failed=0; \
@@ -993,7 +1004,7 @@ sgen-bridge-tests1: sgen-bridge.exe sgen-bridge-major-fragmentation.exe
                        name=`echo $$conf | cut -d\| -f 2`;     \
                        params=`echo $$conf | cut -d\| -f 1`;   \
                        test_name="$${test}|$${name}";  \
-                       if MONO_GC_DEBUG="bridge=Bridge$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS);   \
+                       if MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS); \
                        then \
                                passed=`expr $${passed} + 1`; \
                        else \
@@ -1018,7 +1029,7 @@ sgen-bridge-tests2: sgen-bridge-xref.exe
                        name=`echo $$conf | cut -d\| -f 2`;     \
                        params=`echo $$conf | cut -d\| -f 1`;   \
                        test_name="$${test}|$${name}";  \
-                       if MONO_GC_DEBUG="bridge=2Bridge$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS);  \
+                       if MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS);        \
                        then \
                                passed=`expr $${passed} + 1`; \
                        else \
@@ -1190,6 +1201,14 @@ bug-382986-lib.dll: bug-382986-lib.cs
 bug-382986.exe: bug-382986.cs bug-382986-lib.dll
        $(MCS) -out:$@ -r:bug-382986-lib.dll $(srcdir)/bug-382986.cs
 
+EXTRA_DIST += bug-17537-helper.cs
+bug-17537-helper.exe: bug-17537-helper.cs
+       $(MCS) -out:$@ $(srcdir)/bug-17537-helper.cs
+       chmod -x $@
+
+bug-17537.exe: bug-17537.cs bug-17537-helper.exe
+       $(MCS) -out:$@ $(srcdir)/bug-17537.cs
+
 EXTRA_DIST += coreclr-security.cs
 
 coreclr-security.exe : coreclr-security.cs
@@ -1274,7 +1293,7 @@ if NACL_CODEGEN
 test-generic-sharing:
 else
 test-generic-sharing:
-       @if test x$(M) != x; then $(MAKE) test-generic-sharing-managed; else $(MAKE) test-generic-sharing-normal; fi
+       @if test x$(M) != x0; then $(MAKE) test-generic-sharing-managed; else $(MAKE) test-generic-sharing-normal; fi
 endif
 
 EXTRA_DIST += async-exceptions.cs
@@ -1301,12 +1320,8 @@ patch-libtool:
 if NACL_CODEGEN
 test-process-exit:
 else
-EXTRA_DIST += bug-438454.cs bug-438454.exe.stdout.expected threadpool-in-processexit.cs threadpool-in-processexit.exe.stdout.expected
+EXTRA_DIST += threadpool-in-processexit.cs threadpool-in-processexit.exe.stdout.expected
 test-process-exit:
-       @$(MCS) $(srcdir)/bug-438454.cs -out:bug-438454.exe
-       @echo "Testing bug-438454.exe..."
-       @$(RUNTIME) bug-438454.exe > bug-438454.exe.stdout
-       @diff -w bug-438454.exe.stdout $(srcdir)/bug-438454.exe.stdout.expected
        @$(MCS) $(srcdir)/threadpool-in-processexit.cs -out:threadpool-in-processexit.exe
        @echo "Testing threadpool-in-processexit.exe..."
        @$(RUNTIME) threadpool-in-processexit.exe > threadpool-in-processexit.exe.stdout