]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Revert "parallel-tests: avoid command-line length limit issue."
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 26 Sep 2010 07:21:14 +0000 (09:21 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 2 Oct 2010 16:37:45 +0000 (18:37 +0200)
This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
because it re-opened the bug fixed by v1.11-10-g218e678.

2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

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 <Ralf.Wildenhues@gmx.de>
ChangeLog
NEWS
automake.in
lib/Automake/tests/Makefile.in
lib/am/check.am
tests/Makefile.in

index 01ee5275a0c705740310d39ea3584b4e4473396c..00dd8c28109676e9beba9334484108c0a0fbc44b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       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  <Ralf.Wildenhues@gmx.de>
+
+       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  <Ralf.Wildenhues@gmx.de>
 
        parallel-tests: avoid command-line length limit issue.
diff --git a/NEWS b/NEWS
index 3a0ca06f81db7eb608a03330dd6a76eb0fb690e8..b3d41313df819886085a6a079e42d7c59823bce8 100644 (file)
--- 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'
index fa098bbfe1a221ef62a37569ab5403a605e775b8..381202b46b98a8edc501a60b6ca2e45e18afe5e1 100755 (executable)
@@ -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;
index 567802b3689112705d816ad3feea7b069c8c73b0..09d3a633449067a7a241a05cbeee755217fa4f64 100644 (file)
@@ -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';            \
index b79201ff0d1b9ae12f8600f87a81b0192fa7c2c8..c612b227494bfc4736f950f9270d8e22e3cf21b1 100644 (file)
@@ -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
 
index 563c9e6d8d23933a73a82c90d86387ee37b41b83..575a5d7f8dfb34cdd813043cfddcada943e3ba5e 100644 (file)
@@ -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';            \