[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: parallel-tests: avoid command-line length limit issue.
From: |
Ralf Wildenhues |
Subject: |
Re: parallel-tests: avoid command-line length limit issue. |
Date: |
Sat, 2 Oct 2010 18:53:32 +0200 |
User-agent: |
Mutt/1.5.20 (2010-08-04) |
* Ralf Wildenhues wrote on Tue, Sep 07, 2010 at 05:10:38AM CEST:
> I'm applying the following patch to maint to avoid the issue.
>
> Unfortunately, the same technique will not work for recheck and
> recheck-html. So no rechecking unless the number of failures is
> lower than the command-line length limit allows.
> 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.
Ah, even this patch was borked. I don't have a good solution yet
without thinking yet some more. Since I would really like to get
rid of known regressions, I'm reverting the patch for now.
Committing the patch below to a new branch off of the above commit,
and merging into maint and thus branch-1.11 and master.
This is the first time I'm doing this with the new git development
model, so we don't have prior samples for revert commit messages;
I'm leaning this on the way GCC does it.
Cheers, and sorry,
Ralf
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 <address@hidden>
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.
diff --git a/NEWS b/NEWS
index 3a0ca06..b3d4131 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 fa098bb..381202b 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/am/check.am b/lib/am/check.am
index b79201f..c612b22 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: parallel-tests: avoid command-line length limit issue.,
Ralf Wildenhues <=