Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Köplinger <alex.koeplinger@outlook.com>2015-11-03 00:41:01 +0300
committerAlexander Köplinger <alex.koeplinger@outlook.com>2015-11-03 00:44:56 +0300
commite9e2ffd7653fda768b1a4c52e67ca09438b0754e (patch)
treef82398f31cd08c9c01bb8d3ac414349eaf6e7dd1 /acceptance-tests/Makefile.am
parent3adcd34f783a870cc07ab8d9c3b2782328b0938f (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/Makefile.am')
-rw-r--r--acceptance-tests/Makefile.am15
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 \