summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-12-30 23:21:03 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-12-30 23:21:03 +0100
commitad9804e1b825ddb304bfaf62b7108f2b6e08dc81 (patch)
tree115e8aa534132368986af0cd5dc3c3be60502d39
parentf0a7083afefe98aa7aecf4ece592915395947631 (diff)
downloadautomake-ad9804e1b825ddb304bfaf62b7108f2b6e08dc81.tar.gz
parallel-tests: avoid possible implicit "make all" in test-suite.log rule
This change fixes automake bug#16302. * lib/am/check.am ($(TEST_SUITE_LOG)): Avoid running "make $redo_logs" when $redo_logs expands to empty, since in that case we are actually ending up invoking a full "make all". That shouldn't be required, and can cause slowdowns for people implementing their extra "laziness wrappers" around check-TESTS (automake bug#16302). * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
-rw-r--r--NEWS4
-rw-r--r--lib/am/check.am4
2 files changed, 7 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index dd2812a82..a73804a39 100644
--- a/NEWS
+++ b/NEWS
@@ -93,6 +93,10 @@ New in 1.15:
implementation of the TAP driver (that is documented in the manual)
is more portable and has feature parity with the perl implementation.
+ - The rule generating 'test-suite.log' no longer risk incurring in an
+ extra useless "make all" recursive invocation in some corner cases
+ (automake bug#16302).
+
* Bug fixes:
- The user can now extend the special .PRECIOUS target, the same way
diff --git a/lib/am/check.am b/lib/am/check.am
index 7012d5a2b..4d2a498a3 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -274,7 +274,9 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+## Invoking this unconditionally could cause a useless "make all" to
+## be invoked when '$redo_logs' expands to empty (automake bug#16302).
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \