From 614b643eca8361f9d5a5295d25482d07c34016af Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Sun, 26 Sep 2010 09:21:14 +0200 Subject: [PATCH] Revert "parallel-tests: avoid command-line length limit issue." This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835, because it re-opened the bug fixed by v1.11-10-g218e678. 2010-09-07 Ralf Wildenhues parallel-tests: avoid command-line length limit issue. * automake.in (handle_tests): New argument $makefile, new substitution %MAKEFILE%. (generate_makefile): Adjust. * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass sanitized TEST_LOGS value as makefile snippet on standard input to $(MAKE), to avoid exceeding the command line limit on w32 (MSYS). * NEWS: Update. Report by Bob Friesenhahn. Signed-off-by: Ralf Wildenhues --- ChangeLog | 19 +++++++++++++++++++ NEWS | 3 --- automake.in | 11 +++-------- lib/Automake/tests/Makefile.in | 8 ++++---- lib/am/check.am | 8 ++++---- tests/Makefile.in | 8 ++++---- 6 files changed, 34 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 01ee5275a..00dd8c281 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2010-10-02 Ralf Wildenhues + + Revert "parallel-tests: avoid command-line length limit issue." + This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835, + because it re-opened the bug fixed by v1.11-10-g218e678. + + 2010-09-07 Ralf Wildenhues + + parallel-tests: avoid command-line length limit issue. + * automake.in (handle_tests): New argument $makefile, new + substitution %MAKEFILE%. + (generate_makefile): Adjust. + * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass + sanitized TEST_LOGS value as makefile snippet on standard + input to $(MAKE), to avoid exceeding the command line limit on + w32 (MSYS). + * NEWS: Update. + Report by Bob Friesenhahn. + 2010-09-07 Ralf Wildenhues parallel-tests: avoid command-line length limit issue. diff --git a/NEWS b/NEWS index 3a0ca06f8..b3d41313d 100644 --- a/NEWS +++ b/NEWS @@ -22,9 +22,6 @@ Bugs fixed in 1.11.0a: - The AM_COND_IF macro also works if the shell expression for the conditional is no longer valid for the condition. - - The `parallel-tests' driver works around a problem with command-line - length limits with `make check' on w32 (MSYS). - * Long standing bugs: - On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python' diff --git a/automake.in b/automake.in index fa098bbfe..381202b46 100755 --- a/automake.in +++ b/automake.in @@ -4908,13 +4908,9 @@ sub handle_tests_dejagnu } -# handle_tests ($MAKEFILE) -# ------------------------ # Handle TESTS variable and other checks. -sub handle_tests ($) +sub handle_tests { - my ($makefile) = @_; - if (option 'dejagnu') { &handle_tests_dejagnu; @@ -4933,8 +4929,7 @@ sub handle_tests ($) push (@check_tests, 'check-TESTS'); $output_rules .= &file_contents ('check', new Automake::Location, COLOR => !! option 'color-tests', - PARALLEL_TESTS => !! option 'parallel-tests', - MAKEFILE => basename $makefile); + PARALLEL_TESTS => !! option 'parallel-tests'); # Tests that are known programs should have $(EXEEXT) appended. # For matching purposes, we need to adjust XFAIL_TESTS as well. @@ -8216,7 +8211,7 @@ sub generate_makefile ($$) handle_tags; handle_minor_options; # Must come after handle_programs so that %known_programs is up-to-date. - handle_tests ($makefile); + handle_tests; # This must come after most other rules. handle_dist; diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in index 567802b36..09d3a6334 100644 --- a/lib/Automake/tests/Makefile.in +++ b/lib/Automake/tests/Makefile.in @@ -404,10 +404,10 @@ check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='$(TEST_LOGS)'; \ - { echo "TEST_LOGS = \\"; \ - for f in $$list; do test .log = $$f || echo "$$f \\"; done; \ - } | sed '$$s/\\$$//' \ - | $(MAKE) -f Makefile -f - $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) + list=`for f in $$list; do \ + test .log = $$f || echo $$f; \ + done | tr '\012\015' ' '`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" .log.html: @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ diff --git a/lib/am/check.am b/lib/am/check.am index b79201ff0..c612b2274 100644 --- a/lib/am/check.am +++ b/lib/am/check.am @@ -236,10 +236,10 @@ check-TESTS: ## we rely on .PHONY to work portably. @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='$(TEST_LOGS)'; \ - { echo "TEST_LOGS = \\"; \ - for f in $$list; do test .log = $$f || echo "$$f \\"; done; \ - } | sed '$$s/\\$$//' \ - | $(MAKE) -f %MAKEFILE% -f - $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) + list=`for f in $$list; do \ + test .log = $$f || echo $$f; \ + done | tr '\012\015' ' '`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" AM_RECURSIVE_TARGETS += check diff --git a/tests/Makefile.in b/tests/Makefile.in index 563c9e6d8..575a5d7f8 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -1181,10 +1181,10 @@ check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='$(TEST_LOGS)'; \ - { echo "TEST_LOGS = \\"; \ - for f in $$list; do test .log = $$f || echo "$$f \\"; done; \ - } | sed '$$s/\\$$//' \ - | $(MAKE) -f Makefile -f - $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) + list=`for f in $$list; do \ + test .log = $$f || echo $$f; \ + done | tr '\012\015' ' '`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" .log.html: @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ -- 2.47.2