]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
[ng] recheck: improve the fix for bug#11791 to use more GNU make features
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 1 Jul 2012 17:28:51 +0000 (19:28 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 1 Jul 2012 18:32:35 +0000 (20:32 +0200)
* lib/am/parallel-tests.am: Here, and to generally have a "look and feel"
more in the Automake-NG style.  Also, improve comments while we are at it.
* Makefile.am (XFAIL_TESTS): Remove 't/test-missing.sh', as the changes in
'parallel-tests.am' have restored some semantics that had been messed up
in the previous merge (where 't/test-missing.sh' started failing).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Makefile.am
lib/am/parallel-tests.am

index dc03a4e1a5b2d99a127c15e2ca936fdbbe63dac1..c3be172f1bd6b7a8dfc30c5308d02259c398e8f3 100644 (file)
@@ -334,7 +334,6 @@ perl_fake_XFAIL_TESTS = \
 
 XFAIL_TESTS = \
   t/all.sh \
-  t/test-missing.sh \
   t/override-suggest-local.sh \
   t/yacc-bison-skeleton-cxx.sh \
   t/yacc-bison-skeleton.sh \
index 41ae3926ac6579316259505b9b2f013e29294250..83b90d5114f13ada82c7a785c5f00a11b18bdd09 100644 (file)
@@ -261,12 +261,6 @@ am__mostlyclean_files += $(am__test_results) $(am__test_logs)
 # $(TEST_LOGS) is a published interface.
 TEST_LOGS = $(am__test_logs)
 
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# exand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(am__test_logs) $(am__test_results): $(am__force_recheck)
-am--force-recheck:
-       @:
-
 $(TEST_SUITE_LOG): $(am__test_logs) $(am__test_results)
        @$(am__sh_e_setup); $(am__tty_colors); \
        fatal () { echo "fatal: making $@: $$*" >&2; exit 1; }; \
@@ -423,8 +417,17 @@ recheck: all %CHECK_DEPS%
                 | $(am__list_recheck_tests)` || exit 1; \
 ## Remove newlines and normalize whitespace.
        bases=`echo $$bases`; \
-       $(MAKE) $(TEST_SUITE_LOG) am__test_bases="$$bases" \
-                                 am__force_recheck=am--force-recheck 
+       $(MAKE) $(TEST_SUITE_LOG) .am/doing-recheck=yes am__test_bases="$$bases"
 .PHONY: recheck
 
+## One tricky requirement of the "recheck" target is that, in case (say)
+## the test is a compiled program whose compilation fails, we must ensure
+## that any '.log' and '.trs' file referring to such test are preserved,
+## so that future "make recheck" invocations will still try to re-compile
+## and re-run it (automake bug#11791).  This indirection is aimed at
+## satisying such a requirement.
+!ifeq ($(.am/doing-recheck),yes)
+!$(am__test_logs) $(am__test_results): .am/nil
+!endif
+
 AM_RECURSIVE_TARGETS += check recheck