diff options
author | Alexander Köplinger <alex.koeplinger@outlook.com> | 2015-11-03 00:41:01 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2015-11-03 00:44:56 +0300 |
commit | e9e2ffd7653fda768b1a4c52e67ca09438b0754e (patch) | |
tree | f82398f31cd08c9c01bb8d3ac414349eaf6e7dd1 /acceptance-tests | |
parent | 3adcd34f783a870cc07ab8d9c3b2782328b0938f (diff) |
[acceptance-tests] Output test list to file in chunks
On Jenkins we get a "make: execvp: /bin/sh: Argument list too long" error while executing the coreclr-runtest-basic target.
Since the shell doesn't like echoing our (very) big list of CoreCLR tests in one go, we need to split it up into chunks of
100 entries to hopefully avoid that.
Diffstat (limited to 'acceptance-tests')
-rw-r--r-- | acceptance-tests/Makefile.am | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/acceptance-tests/Makefile.am b/acceptance-tests/Makefile.am index 762f546c054..9645ca58e8e 100644 --- a/acceptance-tests/Makefile.am +++ b/acceptance-tests/Makefile.am @@ -69,12 +69,15 @@ coreclr-compile-tests: coreclr-validate $(MAKE) -j4 $(CORECLR_TESTSI_CS) $(CORECLR_COREMANGLIB_TESTSI_CS) $(CORECLR_TESTSI_IL) coreclr-runtest-basic: coreclr-validate test-runner.exe $(CORECLR_TESTSI_CS) $(CORECLR_TESTSI_IL) - @echo $(CORECLR_TESTSI_CS) $(CORECLR_TESTSI_IL) | tr " " "\n" > coreclr-testlist.txt + @rm -f coreclr-testlist.txt + @$(call dumpvariabletofile, coreclr-testlist.txt, $(CORECLR_TESTSI_CS)) + @$(call dumpvariabletofile, coreclr-testlist.txt, $(CORECLR_TESTSI_IL)) $(RUNTIME) ./test-runner.exe -j a --testsuite-name "coreclr" --expected-exit-code 100 --input-file coreclr-testlist.txt @rm -f coreclr-testlist.txt coreclr-runtest-coremanglib: coreclr-validate test-runner.exe $(CORECLR_COREMANGLIB_TESTSI_CS) - @echo $(CORECLR_COREMANGLIB_TESTSI_CS) | tr " " "\n" > coreclr-testlist.txt + @rm -f coreclr-testlist.txt + @$(call dumpvariabletofile, coreclr-testlist.txt, $(CORECLR_COREMANGLIB_TESTSI_CS)) $(RUNTIME) ./test-runner.exe -j a --testsuite-name "coreclr-coremanglib" --expected-exit-code 100 --input-file coreclr-testlist.txt @rm -f coreclr-testlist.txt @@ -83,6 +86,14 @@ check-coreclr: coreclr-compile-tests coreclr-runtest-basic coreclr-runtest-corem coreclr-gcstress: coreclr-validate GCStressTests.exe $(CORECLR_STRESSTESTSI_CS) BVT_ROOT=$(realpath $(CORECLR_PATH)/tests/src/GC/Stress/Tests) $(RUNTIME) GCStressTests.exe $(CORECLR_PATH)/tests/src/GC/Stress/testmix_gc.config +# Output a variable in $(2) to the file $(1), separated by newline characters +# we need to do it in groups of 100 entries to make sure we don't exceed shell char limits +# note: the variable is appended to the file +define dumpvariabletofile +echo $(wordlist 1, 100, $(2)) | tr " " "\n" >> $(1) +$(if $(word 101, $(2)), $(call dumpvariabletofile, $(1), $(wordlist 101, $(words $(2)), $(2)))) +endef + CORECLR_TEST_CS_SRC= \ $(CORECLR_PATH)/tests/src/JIT/CodeGenBringUpTests/Add1.cs \ $(CORECLR_PATH)/tests/src/JIT/CodeGenBringUpTests/addref.cs \ |