SUBDIRS = assemblyresolve gc-descriptors
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
FEATUREFUL_RUNTIME_TEST =
else
FEATUREFUL_RUNTIME_TEST = test-appdomain-unload
with_mono_path = MONO_PATH=$(CLASS)
RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
+TOOLS_RUNTIME = MONO_PATH=$(mcs_topdir)/class/lib/build $(top_builddir)/runtime/mono-wrapper --aot-path=$(mcs_topdir)/class/lib/build
MKBUNDLE = \
PKG_CONFIG_PATH=$(top_builddir):$(PKG_CONFIG_PATH) \
$(RUNTIME) $(CLASS)/mkbundle.exe
-if INSTALL_MOBILE_STATIC
-PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_STATIC,MOBILE_LEGACY
+if FULL_AOT_TESTS
+PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_LEGACY,FULL_AOT_DESKTOP
endif
-if INSTALL_AOT_HYBRID
+if HYBRID_AOT_TESTS
PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_LEGACY
endif
-MCS_NO_LIB = $(RUNTIME) $(mcs_topdir)/class/lib/build/mcs.exe -unsafe -debug \
+MCS_NO_LIB = $(TOOLS_RUNTIME) $(CSC) -unsafe -debug:portable \
-noconfig -nologo \
-nowarn:0162 -nowarn:0168 -nowarn:0219 -nowarn:0414 -nowarn:0618 \
-nowarn:0169 -nowarn:1690 -nowarn:0649 -nowarn:0612 -nowarn:3021 \
MCS = $(MCS_NO_LIB) -lib:$(CLASS)
-ILASM = $(RUNTIME) $(CLASS)/ilasm.exe
+ILASM = $(TOOLS_RUNTIME) $(mcs_topdir)/class/lib/build/ilasm.exe
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
TEST_RUNNER = ./test-runner.exe --runtime $(top_builddir)/runtime/mono-wrapper --mono-path "$(CLASS)" --aot-run-flags "$(AOT_RUN_FLAGS)" --aot-build-flags "$(AOT_BUILD_FLAGS)"
else
TEST_RUNNER = ./test-runner.exe --runtime $(top_builddir)/runtime/mono-wrapper --mono-path "$(CLASS)"
generic-unloading.2.cs \
namedmutex-destroy-race.cs \
thread6.cs \
- appdomain-threadpool-unload.cs
+ appdomain-threadpool-unload.cs \
+ process-unref-race.cs \
+ bug-46661.cs
TEST_CS_SRC_DIST= \
$(BASE_TEST_CS_SRC) \
if HOST_WIN32
PLATFORM_DISABLED_TESTS=async-exc-compilation.exe finally_guard.exe finally_block_ending_in_dead_bb.exe \
- bug-18026.exe monitor.exe threadpool-exceptions5.exe
+ bug-18026.exe monitor.exe threadpool-exceptions5.exe process-unref-race.exe
endif
endif
PROFILE_DISABLED_TESTS=
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
# Tests which rely on TypeLoadExceptions
# In full-aot mode, these cause the relevant methods to be not AOTed.
PROFILE_DISABLED_TESTS += \
thunks.exe
# Tests which load assemblies which are not
-# in the mobile_static profile
+# in the testing_aot_full profile
PROFILE_DISABLED_TESTS += \
assembly-load-remap.exe
PROFILE_DISABLED_TESTS += \
thread6.exe
+# can't AOT the TestingReferenceAssembly.dll which is a dependency
+# of reference-loader.exe because it contains the [ReferenceAssemblyAttribute]
+# and the runtime errors out with "File does not contain a valid CIL image."
+PROFILE_DISABLED_TESTS += \
+ reference-loader.exe
+
# constraints-load.il:
# Failed to load method 0x6000007 from '..../mono/tests/constraints-load.exe' due to
# Could not resolve type with token 01000002 assembly:mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 type:System.BrokenIComparable`1 member:<none>.
bug-515884.exe
endif
-if INSTALL_AOT_HYBRID
+if HYBRID_AOT_TESTS
PROFILE_DISABLED_TESTS += \
bug-80307.exe \
namedmutex-destroy-race.exe
CI_DISABLED_TESTS = \
main-returns-background-resetabort.exe \
main-returns-background-abort-resetabort.exe \
- thread6.exe \
assemblyresolve_event3.exe \
delegate2.exe \
finally_guard.exe \
- gc-altstack.exe \
generic-xdomain.2.exe
# failing tests which we temporarily disable for PRs
PREREQ_IL_SRC=event-il.il module-cctor.il
PREREQ_CS_SRC=
PREREQ_IL_DLL_SRC=
-PREREQ_CS_DLL_SRC=TestingReferenceAssembly.cs TestingReferenceReferenceAssembly.cs
+PREREQ_CS_DLL_SRC=
PREREQSI_IL=$(PREREQ_IL_SRC:.il=.exe) \
$(PREREQ_IL_DLL_SRC:.il=.dll)
%.exe: %.il
$(ILASM) -out:$@ $<
-if !INSTALL_MOBILE_STATIC
-if !INSTALL_AOT_HYBRID
+if !FULL_AOT_TESTS
+if !HYBRID_AOT_TESTS
TEST_DRIVER_HARD_KILL_FEATURE=-r:Mono.Posix.dll
endif
endif
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
TEST_DRIVER_DEPEND=TestDriver.dll$(PLATFORM_AOT_SUFFIX)
else
TEST_DRIVER_DEPEND=TestDriver.dll
%.dll: %.cs
$(MCS) -r:System.dll -target:library -out:$@ $<
+reference-loader.exe: reference-loader.cs TestingReferenceAssembly.dll TestingReferenceReferenceAssembly.dll $(TEST_DRIVER_DEPEND)
+ $(MCS) -r:System.dll -r:TestDriver.dll -r:TestingReferenceAssembly.dll -r:TestingReferenceReferenceAssembly.dll $(TEST_DRIVER_HARD_KILL_FEATURE) -out:$@ $(srcdir)/reference-loader.cs
+
+TestingReferenceAssembly.dll: TestingReferenceAssembly.cs
+ $(MCS) -target:library -out:$@ $<
+
TestingReferenceReferenceAssembly.dll: TestingReferenceReferenceAssembly.cs TestingReferenceAssembly.dll
$(MCS) -r:TestingReferenceAssembly.dll -target:library -out:$@ $<
bug-36848-a.dll$(PLATFORM_AOT_SUFFIX) \
bug-81691-b.dll$(PLATFORM_AOT_SUFFIX) \
bug-327438.2.exe$(PLATFORM_AOT_SUFFIX) \
-bug-81466-lib.dll$(PLATFORM_AOT_SUFFIX) \
-TestingReferenceAssembly.dll$(PLATFORM_AOT_SUFFIX) \
-TestingReferenceReferenceAssembly.dll$(PLATFORM_AOT_SUFFIX)
+bug-81466-lib.dll$(PLATFORM_AOT_SUFFIX)
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
prereqs: $(PREREQSI_IL_AOT) $(PREREQSI_CS_AOT) $(AOT_EXTRA_LIBS)
else
prereqs: $(PREREQSI_IL) $(PREREQSI_CS)
# Precompile the test assemblies in parallel
compile-tests:
$(MAKE) -j4 $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(MAKE) $(PREREQSI_IL_AOT) $(PREREQSI_CS_AOT) $(AOT_EXTRA_LIBS)
endif
SGEN_REGULAR_DISABLED_TESTS=
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
SGEN_REGULAR_DISABLED_TESTS += \
sgen-domain-unload.exe \
sgen-domain-unload-2.exe
sgen-regular-tests: $(SGEN_REGULAR_TESTS)
$(MAKE) sgen-regular-tests-ms
$(MAKE) sgen-regular-tests-ms-conc
+ $(MAKE) sgen-regular-tests-ms-conc-par
$(MAKE) sgen-regular-tests-ms-conc-split
$(MAKE) sgen-regular-tests-ms-split
$(MAKE) sgen-regular-tests-ms-conc-split-95
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep" $(RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
sgen-regular-tests-ms-conc: $(SGEN_REGULAR_TESTS) test-runner.exe
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc" $(RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
+sgen-regular-tests-ms-conc-par: $(SGEN_REGULAR_TESTS) test-runner.exe
+ MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc-par" $(RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
sgen-regular-tests-ms-conc-split: $(SGEN_REGULAR_TESTS) test-runner.exe
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc,minor=split" $(RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
sgen-regular-tests-ms-split: $(SGEN_REGULAR_TESTS) test-runner.exe
passed=0; \
failed_tests="";\
profile=$(DEFAULT_PROFILE); \
- tmpfile=`mktemp -t mono_aot_output` || exit 1; \
+ tmpfile=`mktemp -t mono_aot_outputXXXXXX` || exit 1; \
rm -f test-aot-$${name}.stdout test-aot-$${name}.stderr; \
for assembly in $(mcs_topdir)/class/lib/$$profile/*.dll ; do \
asm_name=`basename $$assembly`; \
EXTRA_DIST += test-inline-call-stack-library.cs test-inline-call-stack.cs
test-inline-call-stack-library.dll: $(TEST_DRIVER_DEPEND) $(srcdir)/test-inline-call-stack-library.cs
$(MCS) -t:library -out:test-inline-call-stack-library.dll $(srcdir)/test-inline-call-stack-library.cs
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
$(MCS) -target:library -out:bug-81673-interface.dll $(srcdir)/bug-81673-interface.cs
$(MCS) -out:bug-81673.exe -r:bug-81673-interface.dll $(srcdir)/bug-81673.cs
$(MCS) -define:WITH_STOP -target:library -out:bug-81673-interface.dll $(srcdir)/bug-81673-interface.cs
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
$(MCS) -target:library -out:bug-36848-a.dll $(srcdir)/bug-36848-a.cs
$(MCS) -r:bug-36848-a.dll -out:bug-36848.exe $(srcdir)/bug-36848.cs
$(MCS) -target:library -out:bug-36848-a.dll $(srcdir)/bug-36848-a.cs /define:WITH_STOP
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
EXTRA_DIST += bug-81466-lib.il
bug-81466-lib.dll: bug-81466-lib.il
$(ILASM) /dll /output:bug-81466-lib.dll $(srcdir)/bug-81466-lib.il
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
bug-81466.exe: bug-81466.il bug-81466-lib.dll
EXTRA_DIST += bug-324535-il.il
bug-324535-il.dll : bug-324535-il.il
$(ILASM) /dll /output:bug-324535-il.dll $(srcdir)/bug-324535-il.il
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
bug-324535.exe : bug-324535.cs bug-324535-il.dll
EXTRA_DIST += custom-modifiers.2.cs custom-modifiers-lib.il
custom-modifiers-lib.dll: custom-modifiers-lib.il
$(ILASM) /dll /output:custom-modifiers-lib.dll $(srcdir)/custom-modifiers-lib.il
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
custom-modifiers.2.exe: custom-modifiers.2.cs custom-modifiers-lib.dll
EXTRA_DIST += bug-382986-lib.cs
bug-382986-lib.dll: bug-382986-lib.cs
$(MCS) -target:library -out:$@ $(srcdir)/bug-382986-lib.cs
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
EXTRA_DIST += generic-unboxing.2.il
generic-unboxing.2.dll : generic-unboxing.2.il
$(ILASM) /dll /output:generic-unboxing.2.dll $(srcdir)/generic-unboxing.2.il
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
EXTRA_DIST += generic-boxing.2.il
generic-boxing.2.dll : generic-boxing.2.il generic-unboxing.2.dll
$(ILASM) /dll /output:generic-boxing.2.dll $(srcdir)/generic-boxing.2.il
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
EXTRA_DIST += generic-delegate2.2.cs generic-delegate2-lib.2.il
generic-delegate2-lib.2.dll : generic-delegate2-lib.2.il
$(ILASM) /dll /output:$@ $(srcdir)/generic-delegate2-lib.2.il
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
endif
generic-delegate2.2.exe : generic-delegate2.2.cs generic-delegate2-lib.2.dll
GSHARED_DISABLED_TESTS=
-if INSTALL_MOBILE_STATIC
+if FULL_AOT_TESTS
GSHARED_DISABLED_TESTS += \
generic-type-builder.2.exe
endif
unhandled-exception-4.exe \
unhandled-exception-5.exe \
unhandled-exception-6.exe \
- unhandled-exception-7.exe
+ unhandled-exception-7.exe \
+ unhandled-exception-8.exe
test-unhandled-exception-2: $(UNHANDLED_EXCEPTION_1_TESTS) $(UNHANDLED_EXCEPTION_255_TESTS)
$(MAKE) test-unhandled-exception-2-1-with-managed-handler
coreclr-gcstress:
$(MAKE) -C $(mono_build_root)/acceptance-tests coreclr-gcstress
+# Tests for the Mono lldb plugin
+EXTRA_DIST += test_lldb.py test-lldb.cs
+test-lldb: test-lldb.exe
+ python test_lldb.py $(JITTEST_PROG)
+
noinst_LTLIBRARIES = libtest.la
AM_CPPFLAGS = $(GLIB_CFLAGS)