diff options
-rw-r--r-- | mcs/build/platforms/macos.make | 2 | ||||
-rw-r--r-- | mcs/build/platforms/win32.make | 2 | ||||
-rw-r--r-- | mcs/build/profiles/orbis.make | 3 | ||||
-rw-r--r-- | mcs/build/profiles/testing_aot_common.make | 3 | ||||
-rw-r--r-- | mcs/build/profiles/winaot.make | 3 | ||||
-rw-r--r-- | mcs/build/rules.make | 1 | ||||
-rw-r--r-- | mcs/build/tests.make | 34 | ||||
-rw-r--r-- | mcs/class/System.Core/Makefile | 4 | ||||
-rw-r--r-- | mcs/class/System.Windows.Forms/Makefile | 3 | ||||
-rw-r--r-- | mcs/class/corlib/Makefile | 2 | ||||
-rw-r--r-- | mcs/tools/sqlmetal/build/Makefile | 4 | ||||
-rwxr-xr-x | scripts/ci/run-test-mac-sdk.sh | 2 |
12 files changed, 31 insertions, 32 deletions
diff --git a/mcs/build/platforms/macos.make b/mcs/build/platforms/macos.make index a8fe926dd98..419f49d0140 100644 --- a/mcs/build/platforms/macos.make +++ b/mcs/build/platforms/macos.make @@ -6,7 +6,7 @@ PLATFORM_MCS_FLAGS = PLATFORM_RUNTIME = $(RUNTIME) PLATFORM_CORLIB = mscorlib.dll -PLATFORM_TEST_HARNESS_EXCLUDES = NotOnMac,MacNotWorking, +PLATFORM_TEST_HARNESS_EXCLUDES = NotOnMac MacNotWorking EXTERNAL_MCS = mcs EXTERNAL_MBAS = mbas diff --git a/mcs/build/platforms/win32.make b/mcs/build/platforms/win32.make index 6b612ef09b1..9d920a3bf9b 100644 --- a/mcs/build/platforms/win32.make +++ b/mcs/build/platforms/win32.make @@ -6,7 +6,7 @@ PLATFORM_MCS_FLAGS = PLATFORM_RUNTIME = PLATFORM_CORLIB = mscorlib.dll -PLATFORM_TEST_HARNESS_EXCLUDES = NotOnWindows, +PLATFORM_TEST_HARNESS_EXCLUDES = NotOnWindows EXTERNAL_MCS = mcs EXTERNAL_MBAS = vbc.exe diff --git a/mcs/build/profiles/orbis.make b/mcs/build/profiles/orbis.make index 4d49d1dad2d..918eec868b2 100644 --- a/mcs/build/profiles/orbis.make +++ b/mcs/build/profiles/orbis.make @@ -41,5 +41,4 @@ NO_CONSOLE = yes PROFILE_DISABLE_BTLS = yes NO_SRE=1 -# Note need for trailing comma. If you add, keep it -PROFILE_TEST_HARNESS_EXCLUDES = MobileNotWorking,PKITS, +PROFILE_TEST_HARNESS_EXCLUDES = MobileNotWorking PKITS diff --git a/mcs/build/profiles/testing_aot_common.make b/mcs/build/profiles/testing_aot_common.make index 416dac6864a..7548222147e 100644 --- a/mcs/build/profiles/testing_aot_common.make +++ b/mcs/build/profiles/testing_aot_common.make @@ -34,5 +34,4 @@ MOBILE_PROFILE = yes DISABLE_REMOTING = yes NO_MULTIPLE_APPDOMAINS = yes -# Note need for trailing comma. If you add, keep it -PROFILE_TEST_HARNESS_EXCLUDES := MobileNotWorking,PKITS, +PROFILE_TEST_HARNESS_EXCLUDES := MobileNotWorking PKITS diff --git a/mcs/build/profiles/winaot.make b/mcs/build/profiles/winaot.make index 7e0bfb507c4..bfc04ec29b1 100644 --- a/mcs/build/profiles/winaot.make +++ b/mcs/build/profiles/winaot.make @@ -40,5 +40,4 @@ MOBILE_PROFILE = yes NO_VTS_TEST = yes NO_SRE=1 -# Note need for trailing comma. If you add, keep it -PROFILE_TEST_HARNESS_EXCLUDES = MobileNotWorking,PKITS, +PROFILE_TEST_HARNESS_EXCLUDES = MobileNotWorking PKITS diff --git a/mcs/build/rules.make b/mcs/build/rules.make index c15530f48f8..b4c9df71575 100644 --- a/mcs/build/rules.make +++ b/mcs/build/rules.make @@ -9,6 +9,7 @@ empty := space := $(empty) $(empty) +comma := , _FILTER_OUT = $(foreach x,$(2),$(if $(findstring $(1),$(x)),,$(x))) # given $(thisdir), we compute the path to the top directory diff --git a/mcs/build/tests.make b/mcs/build/tests.make index f8b0fdd80fa..857e48bf0c9 100644 --- a/mcs/build/tests.make +++ b/mcs/build/tests.make @@ -149,14 +149,12 @@ test-local: $(test_assemblies) $(test_lib_dir)/nunit-excludes.txt run-test-local: run-test-lib run-test-ondotnet-local: run-test-ondotnet-lib +TEST_HARNESS_EXCLUDES = $(PLATFORM_TEST_HARNESS_EXCLUDES) $(PROFILE_TEST_HARNESS_EXCLUDES) NotWorking CAS + ifdef TEST_WITH_INTERPRETER -TEST_HARNESS_EXCLUDES = -exclude=$(PLATFORM_TEST_HARNESS_EXCLUDES)$(PROFILE_TEST_HARNESS_EXCLUDES)NotWorking,NotWorkingRuntimeInterpreter,CAS -else -TEST_HARNESS_EXCLUDES = -exclude=$(PLATFORM_TEST_HARNESS_EXCLUDES)$(PROFILE_TEST_HARNESS_EXCLUDES)NotWorking,CAS +TEST_HARNESS_EXCLUDES += NotWorkingRuntimeInterpreter endif -TEST_HARNESS_EXCLUDES_ONDOTNET = /exclude:$(PLATFORM_TEST_HARNESS_EXCLUDES)$(PROFILE_TEST_HARNESS_EXCLUDES)NotDotNet,CAS - NOSHADOW_FLAG = ifdef FIXTURE @@ -239,18 +237,19 @@ endif # PLATFORM_AOT_SUFFIX ifneq ($(wildcard $(MKBUNDLE_TEST_BIN)),) TEST_HARNESS_EXEC=$(MKBUNDLE_TEST_BIN) -TEST_HARNESS_EXCLUDES:=$(TEST_HARNESS_EXCLUDES),StaticLinkedAotNotWorking +TEST_HARNESS_EXCLUDES:=$(TEST_HARNESS_EXCLUDES) StaticLinkedAotNotWorking else TEST_HARNESS_EXEC=$(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(TEST_COVERAGE_FLAGS) $(AOT_RUN_FLAGS) $(TEST_HARNESS) endif $(test_lib_dir)/nunit-excludes.txt: $(topdir)/build/tests.make | $(test_lib_dir) - @echo "$(TEST_HARNESS_EXCLUDES)" > $@ + @rm -f $@ + @$(foreach entry,$(TEST_HARNESS_EXCLUDES),echo "$(entry)" >> $@;) ## FIXME: i18n problem in the 'sed' command below run-test-lib: test-local test-local-aot-compile copy-nunitlite-appconfig ok=:; \ - PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" MONO_REGISTRY_PATH="$(HOME)/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" DBG_RUNTIME_ARGS="$(TEST_RUNTIME_FLAGS)" $(TEST_HARNESS_EXEC) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(LABELS_ARG) -format:nunit2 -result:TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \ + PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" MONO_REGISTRY_PATH="$(HOME)/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" DBG_RUNTIME_ARGS="$(TEST_RUNTIME_FLAGS)" $(TEST_HARNESS_EXEC) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) -exclude=$(subst $(space),$(comma),$(TEST_HARNESS_EXCLUDES)) $(LABELS_ARG) -format:nunit2 -result:TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \ if [ ! -f "TestResult-$(PROFILE).xml" ]; then echo "<?xml version='1.0' encoding='utf-8'?><test-results failures='1' total='1' not-run='0' name='bcl-tests' date='$$(date +%F)' time='$$(date +%T)'><test-suite name='$(strip $(test_assemblies))' success='False' time='0'><results><test-case name='$(notdir $(strip $(test_assemblies))).crash' executed='True' success='False' time='0'><failure><message>The test runner didn't produce a test result XML, probably due to a crash of the runtime. Check the log for more details.</message><stack-trace></stack-trace></failure></test-case></results></test-suite></test-results>" > TestResult-$(PROFILE).xml; fi; \ $$ok @@ -258,7 +257,7 @@ run-test-lib: test-local test-local-aot-compile copy-nunitlite-appconfig run-test-ondotnet-lib: LOCAL_TEST_COMPILER_ONDOTNET_FLAGS:=-d:RUN_ONDOTNET run-test-ondotnet-lib: test-local ok=:; \ - $(TEST_HARNESS) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_ONDOTNET_FLAGS) $(TEST_HARNESS_EXCLUDES_ONDOTNET) $(LABELS_ARG) -format:nunit2 -result:TestResult-ondotnet-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG) || ok=false; \ + $(TEST_HARNESS) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_ONDOTNET_FLAGS) /exclude:$(subst $(space),$(comma),$(TEST_HARNESS_EXCLUDES) NotDotNet) $(LABELS_ARG) -format:nunit2 -result:TestResult-ondotnet-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG) || ok=false; \ $$ok @@ -315,15 +314,17 @@ XTEST_HARNESS_PATH := $(topdir)/../external/xunit-binaries XTEST_HARNESS = $(XTEST_HARNESS_PATH)/xunit.console.exe XTEST_RESULT_FILE := TestResult-$(PROFILE)-xunit.xml XTEST_HARNESS_FLAGS := -noappdomain -noshadow -parallel none -nunit $(XTEST_RESULT_FILE) -ifdef OUTER_LOOP -XTEST_TRAIT := -notrait category=failing -notrait category=nonmonotests -notrait Benchmark=true -else -XTEST_TRAIT := -notrait category=failing -notrait category=nonmonotests -notrait Benchmark=true -notrait category=outerloop + +XTEST_NOTRAITS := category=failing category=nonmonotests Benchmark=true + +ifndef OUTER_LOOP +XTEST_NOTRAITS += category=outerloop endif + # The logic is double inverted so this actually excludes tests not intented for current platform # best to search for `property name="category"` in the xml output to see what's going on # https://github.com/dotnet/buildtools/blob/master/src/xunit.netcore.extensions/Discoverers/PlatformSpecificDiscoverer.cs -XTEST_TRAIT_PLATFORM := -notrait category=non$(XTEST_PLATFORM)tests +XTEST_NOTRAITS += category=non$(XTEST_PLATFORM)tests TEST_MONO_PATH := $(TEST_MONO_PATH)$(PLATFORM_PATH_SEPARATOR)$(XTEST_HARNESS_PATH) @@ -344,7 +345,8 @@ xunit-test-local: $(xtest_lib_output) $(test_lib_dir)/xunit-excludes.txt $(test_ run-xunit-test-local: run-xunit-test-lib $(test_lib_dir)/xunit-excludes.txt: $(topdir)/build/tests.make | $(test_lib_dir) - @echo "$(XTEST_TRAIT) $(XTEST_TRAIT_PLATFORM)" > $@ + @rm -f $@ + $(foreach entry,$(XTEST_NOTRAITS),echo "$(entry)" >> $@;) $(test_lib_dir)/Xunit.NetCore.Extensions.dll: $(topdir)/build/tests.make $(topdir)/../external/xunit-binaries/Xunit.NetCore.Extensions.dll | $(test_lib_dir) @cp -f $(topdir)/../external/xunit-binaries/Xunit.NetCore.Extensions.dll $@ @@ -354,7 +356,7 @@ $(test_lib_dir)/xunit.execution.dotnet.dll: $(topdir)/build/tests.make $(topdir) run-xunit-test-lib: xunit-test-local ok=:; \ - PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" REMOTE_EXECUTOR="$(XTEST_REMOTE_EXECUTOR_ABSPATH)" $(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(XTEST_COVERAGE_FLAGS) $(AOT_RUN_FLAGS) $(XTEST_HARNESS) $(xtest_lib_output) $(XTEST_HARNESS_FLAGS) $(XTEST_TRAIT) $(XTEST_TRAIT_PLATFORM) || ok=false; \ + PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" REMOTE_EXECUTOR="$(XTEST_REMOTE_EXECUTOR_ABSPATH)" $(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(XTEST_COVERAGE_FLAGS) $(AOT_RUN_FLAGS) $(XTEST_HARNESS) $(xtest_lib_output) $(XTEST_HARNESS_FLAGS) -notrait $(subst $(space), -notrait ,$(XTEST_NOTRAITS)) || ok=false; \ if [ -n "$$MONO_BABYSITTER_NUNIT_XML_LIST_FILE" ]; then echo "$(abspath $(XTEST_RESULT_FILE))" >> "$$MONO_BABYSITTER_NUNIT_XML_LIST_FILE"; fi; \ $$ok diff --git a/mcs/class/System.Core/Makefile b/mcs/class/System.Core/Makefile index 2fa569c986a..34df5398bee 100644 --- a/mcs/class/System.Core/Makefile +++ b/mcs/class/System.Core/Makefile @@ -37,10 +37,10 @@ else MANAGED_INTERP := $(filter orbis winaot monotouch monotouch_tv monotouch_watch, $(PROFILE)) ifdef MANAGED_INTERP LIB_MCS_FLAGS += -d:NO_FEATURE_STATIC_DELEGATE,FEATURE_MAKE_RUN_METHODS - PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES)NotWorkingLinqInterpreter, + PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES) NotWorkingLinqInterpreter else LIB_MCS_FLAGS += -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER - PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES)SRE, + PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES) SRE endif endif diff --git a/mcs/class/System.Windows.Forms/Makefile b/mcs/class/System.Windows.Forms/Makefile index 3ccbd8caae1..8877bcc19d2 100644 --- a/mcs/class/System.Windows.Forms/Makefile +++ b/mcs/class/System.Windows.Forms/Makefile @@ -116,8 +116,7 @@ test-local: $(topdir)/class/lib/$(PROFILE)/tests/DummyAssembly.dll include ../../build/library.make -TEST_HARNESS_EXCLUDES = -exclude=Interactive,NotWorking,CAS -TEST_HARNESS_EXCLUDES_ONDOTNET = -exclude=Interactive,NotDotNet,CAS +TEST_HARNESS_EXCLUDES += Interactive $(the_lib): $(RESOURCES) diff --git a/mcs/class/corlib/Makefile b/mcs/class/corlib/Makefile index 106c5abcd3f..cbdeb1f4e42 100644 --- a/mcs/class/corlib/Makefile +++ b/mcs/class/corlib/Makefile @@ -94,7 +94,7 @@ RESOURCE_FILES = \ REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ENCODINGNLS,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,FEATURE_DEFAULT_INTERFACES,HAS_CORLIB_CONTRACTS ifdef NO_SRE -PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES)SRE, +PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES) SRE else LIB_MCS_FLAGS += -d:MONO_FEATURE_SRE endif diff --git a/mcs/tools/sqlmetal/build/Makefile b/mcs/tools/sqlmetal/build/Makefile index 83f0c4db03a..00f9398eb0a 100644 --- a/mcs/tools/sqlmetal/build/Makefile +++ b/mcs/tools/sqlmetal/build/Makefile @@ -32,13 +32,13 @@ $(sqlite_tests): $(sqlite_tests_dep) test-sqlite: $(sqlite_tests) RUN_TEST_COMMAND = \ - MONO_REGISTRY_PATH="$(HOME)/.mono/registry" $(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(TEST_HARNESS) $(1) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(TEST_HARNESS_OUTPUT) -labels -format:nunit2 -result=TestResult-$(1:.dll=)-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG) ; + MONO_REGISTRY_PATH="$(HOME)/.mono/registry" $(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(TEST_HARNESS) $(1) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) -exclude=$(subst $(space),$(comma),$(TEST_HARNESS_EXCLUDES)) $(TEST_HARNESS_OUTPUT) -labels -format:nunit2 -result=TestResult-$(1:.dll=)-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG) ; run-test-sqlite: $(call RUN_TEST_COMMAND,$(sqlite_tests)) foo: - MONO_REGISTRY_PATH="$(HOME)/.mono/registry" $(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(TEST_HARNESS) $(sqlite_tests) -noshadow $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(TEST_HARNESS_OUTPUT) -xml=TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \ + MONO_REGISTRY_PATH="$(HOME)/.mono/registry" $(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(TEST_HARNESS) $(sqlite_tests) -noshadow $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) -exclude=$(subst $(space),$(comma),$(TEST_HARNESS_EXCLUDES)) $(TEST_HARNESS_OUTPUT) -xml=TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \ $(TEST_HARNESS_POSTPROC) ; $$ok all-local: $(sqlite_tests) diff --git a/scripts/ci/run-test-mac-sdk.sh b/scripts/ci/run-test-mac-sdk.sh index e2960b780c2..de20144b64f 100755 --- a/scripts/ci/run-test-mac-sdk.sh +++ b/scripts/ci/run-test-mac-sdk.sh @@ -13,7 +13,7 @@ zip ${MONO_REPO_ROOT}/msbuild-test-results.zip artifacts/2/TestResults/Release-M # Bundled LLVM cd ${MONO_REPO_ROOT}/external/bockbuild/builds/mono ${TESTCMD} --label="runtime-tests-llvm" --timeout=240m make -C mono/tests -k test-wrench MONO_ENV_OPTIONS=--llvm V=1 M=1 -${TESTCMD} --label="corlib-tests-llvm" --timeout=60m make -C mcs/class/corlib run-test PLATFORM_TEST_HARNESS_EXCLUDES=NotOnMac,MacNotWorking,LLVMNotWorking, MONO_ENV_OPTIONS=--llvm +${TESTCMD} --label="corlib-tests-llvm" --timeout=60m make -C mcs/class/corlib run-test PLATFORM_TEST_HARNESS_EXCLUDES="NotOnMac MacNotWorking LLVMNotWorking" MONO_ENV_OPTIONS=--llvm # Bundled libgdiplus ${TESTCMD} --label="System.Drawing" --timeout=60m make -C mcs/class/System.Drawing run-test |