diff options
author | Alexander Köplinger <alex.koeplinger@outlook.com> | 2020-01-29 23:28:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-29 23:28:06 +0300 |
commit | 5e3e34220c0e2bb95096318e83bec2d1d9ebd330 (patch) | |
tree | 0a32227b895fa48b12a45735321637dea525b4b1 | |
parent | 81f184c2ad15e4161c28666b7a31d224bc31afc8 (diff) |
[corlib] Split corlib xunit tests even more for iOS (#18619)
Follow-up to https://github.com/mono/mono/pull/18228 since two parts wasn't enough to fix the size issue on 32bits devices.
We now use three parts.
Fixes https://github.com/mono/mono/issues/18614
-rw-r--r-- | mcs/build/tests.make | 30 | ||||
-rw-r--r-- | mcs/class/corlib/corlib_xtest.dll.sources | 11 |
2 files changed, 32 insertions, 9 deletions
diff --git a/mcs/build/tests.make b/mcs/build/tests.make index 078989ada7a..47b7f76320b 100644 --- a/mcs/build/tests.make +++ b/mcs/build/tests.make @@ -147,7 +147,7 @@ ifdef HAVE_CS_TESTS test_assemblies += $(test_lib_output) ifdef TEST_SPLIT_ASSEMBLIES -test_assemblies += $(test_lib_output:.dll=.part1.dll) $(test_lib_output:.dll=.part2.dll) +test_assemblies += $(test_lib_output:.dll=.part1.dll) $(test_lib_output:.dll=.part2.dll) $(test_lib_output:.dll=.part3.dll) endif check: run-test @@ -288,7 +288,15 @@ $(test_lib_output:.dll=.part1.dll): $(test_lib_output) $(test_response).part1 $(test_lib_output:.dll=.part2.dll): $(test_lib_output) $(test_response).part2 $(TEST_COMPILE) $(LIBRARY_FLAGS) -target:library -out:$@ $(test_flags) $(LOCAL_TEST_COMPILER_ONDOTNET_FLAGS) @$(test_response).part2 -tests_CLEAN_FILES += $(test_response).part1 $(test_response).part2 +$(test_lib_output:.dll=.part3.dll): $(test_lib_output) $(test_response).part3 +ifneq ($(wildcard $(test_response).part3),) + $(TEST_COMPILE) $(LIBRARY_FLAGS) -target:library -out:$@ $(test_flags) $(LOCAL_TEST_COMPILER_ONDOTNET_FLAGS) @$(test_response).part3 +endif + +# part3 is optional so we need this empty target to silence make if it doesn't exist +$(test_response).part3: ; + +tests_CLEAN_FILES += $(test_response).part1 $(test_response).part2 $(test_response).part3 endif $(test_response): $(test_sourcefile_base) $(wildcard *_test.dll.sources) $(wildcard *_test.dll.exclude.sources) $(topdir)/build/tests.make $(depsdir)/.stamp @@ -296,7 +304,7 @@ $(test_response): $(test_sourcefile_base) $(wildcard *_test.dll.sources) $(wildc $(test_makefrag): $(test_response) @echo Creating $@ ... - @sed 's,^,$(test_lib_output) $(test_lib_output:.dll=.part1.dll) $(test_lib_output:.dll=.part2.dll): ,' $< >$@ + @sed 's,^,$(test_lib_output) $(test_lib_output:.dll=.part1.dll) $(test_lib_output:.dll=.part2.dll) $(test_lib_output:.dll=.part3.dll): ,' $< >$@ -include $(test_makefrag) @@ -339,7 +347,7 @@ endif xtest_assemblies += $(xtest_lib_output) ifdef XTEST_SPLIT_ASSEMBLIES -xtest_assemblies += $(xtest_lib_output:.dll=.part1.dll) $(xtest_lib_output:.dll=.part2.dll) +xtest_assemblies += $(xtest_lib_output:.dll=.part1.dll) $(xtest_lib_output:.dll=.part2.dll) $(xtest_lib_output:.dll=.part3.dll) endif @@ -377,7 +385,15 @@ $(xtest_lib_output:.dll=.part1.dll): $(xtest_lib_output) $(xtest_response).part1 $(xtest_lib_output:.dll=.part2.dll): $(xtest_lib_output) $(xtest_response).part2 $(TEST_COMPILE) $(LIBRARY_FLAGS) $(XTEST_LIB_FLAGS) -target:library -out:$@ $(xtest_flags) @$(xtest_response).part2 $(xunit_src) -xtests_CLEAN_FILES += $(xtest_response).part1 $(xtest_response).part2 +$(xtest_lib_output:.dll=.part3.dll): $(xtest_lib_output) $(xtest_response).part3 +ifneq ($(wildcard $(xtest_response).part3),) + $(TEST_COMPILE) $(LIBRARY_FLAGS) $(XTEST_LIB_FLAGS) -target:library -out:$@ $(xtest_flags) @$(xtest_response).part3 $(xunit_src) +endif + +# part3 is optional so we need this empty target to silence make if it doesn't exist +$(xtest_response).part3: ; + +xtests_CLEAN_FILES += $(xtest_response).part1 $(xtest_response).part2 $(xtest_response).part3 endif # This handles .excludes/.sources pairs, as well as resolving the @@ -385,9 +401,9 @@ endif $(xtest_response): $(xtest_sourcefile_base) $(wildcard *_xtest.dll.sources) $(wildcard *_xtest.dll.exclude.sources) $(topdir)/build/tests.make $(depsdir)/.stamp $(GENSOURCES) --strict --platformsdir:$(topdir)/build "$@" "$(xtest_library)" "$(PROFILE_PLATFORM)" "$(PROFILE)" -$(xtest_makefrag): $(xtest_response) $(xtest_response_parts) +$(xtest_makefrag): $(xtest_response) @echo Creating $@ ... - @sed 's,^,$(xtest_lib_output) $(xtest_lib_output:.dll=.part1.dll) $(xtest_lib_output:.dll=.part2.dll): ,' $< >$@ + @sed 's,^,$(xtest_lib_output) $(xtest_lib_output:.dll=.part1.dll) $(xtest_lib_output:.dll=.part2.dll) $(xtest_lib_output:.dll=.part3.dll): ,' $< >$@ -include $(xtest_makefrag) diff --git a/mcs/class/corlib/corlib_xtest.dll.sources b/mcs/class/corlib/corlib_xtest.dll.sources index d57eba1b39d..27b311d3827 100644 --- a/mcs/class/corlib/corlib_xtest.dll.sources +++ b/mcs/class/corlib/corlib_xtest.dll.sources @@ -294,8 +294,6 @@ corefx/GlobalizationMode.cs ../../../external/corefx/src/System.Runtime/tests/System/TimeZoneNotFoundExceptionTests.cs ../../../external/corefx/src/System.Runtime/tests/System/TimeSpanTests.cs ../../../external/corefx/src/System.Runtime/tests/System/TimeSpanTests.netcoreapp.cs -../../../external/corefx/src/System.Runtime/tests/System/ArraySegmentTests.cs -../../../external/corefx/src/System.Runtime/tests/System/ArraySegmentTests.netcoreapp.cs ../../../external/corefx/src/System.Runtime/tests/System/BooleanTests.cs ../../../external/corefx/src/System.Runtime/tests/System/BooleanTests.netcoreapp.cs ../../../external/corefx/src/System.Runtime/tests/System/ByteTests.cs @@ -366,6 +364,15 @@ corefx/GlobalizationMode.cs ../../../external/corefx/src/System.Runtime/tests/System/Text/*.cs ../../../external/corefx/src/System.Runtime/tests/System/Runtime/CompilerServices/*.cs:RuntimeHelpersTests.netcoreapp.cs,ConditionalWeakTableTests.netcoreapp.cs,ConditionalWeakTableTests.cs + +#split monotouch +#split monotouch_tv +#split monotouch_watch + + +../../../external/corefx/src/System.Runtime/tests/System/ArraySegmentTests.cs +../../../external/corefx/src/System.Runtime/tests/System/ArraySegmentTests.netcoreapp.cs + # System.Collections ../../../external/corefx/src/Common/tests/System/Collections/CollectionAsserts.cs ../../../external/corefx/src/Common/tests/System/Collections/TestBase.NonGeneric.cs |