]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
parallel-tests: `clean recheck' should not rerun all tests.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Fri, 10 Apr 2009 11:26:16 +0000 (13:26 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Fri, 10 Apr 2009 11:26:16 +0000 (13:26 +0200)
* lib/am/check.am (recheck, recheck-html): Do not rerun all
tests if `$(TEST_SUITE_LOG)' does not exist.
* tests/parallel-tests2.test: Adjust recheck test.
* tests/parallel-tests9.test: Adjust recheck-html test.
* NEWS: Update.
Suggestion by Akim Demaille.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
NEWS
lib/Automake/tests/Makefile.in
lib/am/check.am
tests/Makefile.in
tests/parallel-tests2.test
tests/parallel-tests9.test

index 8f4b36c460e882d33a470b5be0e83c3fe88d2e50..c79631e0e1e6645afa9127b35c6b7298664605bb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       parallel-tests: `clean recheck' should not rerun all tests.
+       * lib/am/check.am (recheck, recheck-html): Do not rerun all
+       tests if `$(TEST_SUITE_LOG)' does not exist.
+       * tests/parallel-tests2.test: Adjust recheck test.
+       * tests/parallel-tests9.test: Adjust recheck-html test.
+       * NEWS: Update.
+       Suggestion by Akim Demaille.
+
 2009-04-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
            Eric Blake <ebb9@byu.net>
 
diff --git a/NEWS b/NEWS
index cf01518e88111767eeb9b7be981857deae4c3a97..64756fe5911123f210445f4eb7fc7db8cec1490d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,9 @@ New in 1.10c:
 
     to the rules.
 
+  - The new `parallel-tests' targets `recheck' and `recheck-html' will not run
+    any tests that have not run yet.
+
 Bugs fixed in 1.10c:
 
 * Long standing bugs:
index 3ccb4087239aa05c60e41b468c51b85768a460a8..44e794a4613cf119d2b3889b53b5857312058043 100644 (file)
@@ -417,17 +417,13 @@ check-html:
 recheck recheck-html:
        @target=`echo $@ | sed 's,^re,,'`;                              \
        list='$(TEST_LOGS)';                                            \
-       if test -f $(TEST_SUITE_LOG); then                              \
-         list=`for f in $$list; do                                     \
-                 test -f $$f || continue;                              \
-                 if read line < $$f; then                              \
-                   case $$line in FAIL*|XPASS*) echo $$f;; esac;       \
-                 else echo $$f; fi;                                    \
-               done | tr '\012\015' '  '`;                             \
-         $(MAKE) $(AM_MAKEFLAGS) $$target TEST_LOGS="$$list";          \
-       else                                                            \
-         $(MAKE) $(AM_MAKEFLAGS) $$target;                             \
-       fi
+       list=`for f in $$list; do                                       \
+               test -f $$f || continue;                                \
+               if read line < $$f; then                                \
+                 case $$line in FAIL*|XPASS*) echo $$f;; esac;         \
+               else echo $$f; fi;                                      \
+             done | tr '\012\015' '  '`;                               \
+       $(MAKE) $(AM_MAKEFLAGS) $$target TEST_LOGS="$$list"
 .pl.log:
        @p='$<'; $(am__check_pre) $(PL_LOG_COMPILE) "$$tst" $(am__check_post)
 
index 90cb0334a7d19d888b90dd5ce168492883f11811..f0917a08fcf51cdd3c18ad1b7bca653b68a842fa 100644 (file)
@@ -279,23 +279,17 @@ AM_RECURSIVE_TARGETS += check-html
 ## Rechecking failures. ##
 ## -------------------- ##
 
-## Rerun all FAILed or XPASSed tests (as well as all whose logs are out
-## of date or do not exist).
+## Rerun all FAILed or XPASSed tests.
 recheck recheck-html:
        @target=`echo $@ | sed 's,^re,,'`;                              \
        list='$(TEST_LOGS)';                                            \
-## If the test suite has not been run yet, then run it in full
-       if test -f $(TEST_SUITE_LOG); then                              \
-         list=`for f in $$list; do                                     \
-                 test -f $$f || continue;                              \
-                 if read line < $$f; then                              \
-                   case $$line in FAIL*|XPASS*) echo $$f;; esac;       \
-                 else echo $$f; fi;                                    \
-               done | tr '\012\015' '  '`;                             \
-         $(MAKE) $(AM_MAKEFLAGS) $$target TEST_LOGS="$$list";          \
-       else                                                            \
-         $(MAKE) $(AM_MAKEFLAGS) $$target;                             \
-       fi
+       list=`for f in $$list; do                                       \
+               test -f $$f || continue;                                \
+               if read line < $$f; then                                \
+                 case $$line in FAIL*|XPASS*) echo $$f;; esac;         \
+               else echo $$f; fi;                                      \
+             done | tr '\012\015' '  '`;                               \
+       $(MAKE) $(AM_MAKEFLAGS) $$target TEST_LOGS="$$list"
 
 .PHONY: recheck recheck-html
 .MAKE: recheck recheck-html
index e2fdaceef9b840d0d844dcfff801f9362af2f01b..9f21e73c6a441812c106149b2f583a3ee5a4ec28 100644 (file)
@@ -1150,17 +1150,13 @@ check-html:
 recheck recheck-html:
        @target=`echo $@ | sed 's,^re,,'`;                              \
        list='$(TEST_LOGS)';                                            \
-       if test -f $(TEST_SUITE_LOG); then                              \
-         list=`for f in $$list; do                                     \
-                 test -f $$f || continue;                              \
-                 if read line < $$f; then                              \
-                   case $$line in FAIL*|XPASS*) echo $$f;; esac;       \
-                 else echo $$f; fi;                                    \
-               done | tr '\012\015' '  '`;                             \
-         $(MAKE) $(AM_MAKEFLAGS) $$target TEST_LOGS="$$list";          \
-       else                                                            \
-         $(MAKE) $(AM_MAKEFLAGS) $$target;                             \
-       fi
+       list=`for f in $$list; do                                       \
+               test -f $$f || continue;                                \
+               if read line < $$f; then                                \
+                 case $$line in FAIL*|XPASS*) echo $$f;; esac;         \
+               else echo $$f; fi;                                      \
+             done | tr '\012\015' '  '`;                               \
+       $(MAKE) $(AM_MAKEFLAGS) $$target TEST_LOGS="$$list"
 .test.log:
        @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
 
index 3331a0c263f83e4ea7f2861d6ca8bb862ca1685b..2a5fc6fa6a6657adf0a2b316653ec0ee57b5a3d1 100755 (executable)
@@ -76,13 +76,13 @@ cat stdout
 test -f mylog.html
 
 # check-html and recheck-html should cause check_SCRIPTS to be created,
-# and recheck-html should rerun all tests if check has not been run.
+# and recheck-html should rerun no tests if check has not been run.
 $MAKE clean
 env TESTS=foo.test $MAKE -e check-html
 test -f bla
 $MAKE clean
 env TESTS=foo.test $MAKE -e recheck-html
 test -f bla
-test -f foo.log
+test -f foo.log
 test -f mylog.html
 :
index a61df60900d21cbc2fab9cb224d4b7a9306953f9..6678920e11728065d68280b253aca20732cf5447 100755 (executable)
@@ -73,12 +73,12 @@ cat stdout
 grep foo.test stdout || Exit 1
 
 # Ensure that recheck builds check_SCRIPTS, and that
-# recheck reruns all tests if check has not been run.
+# recheck reruns nothing if check has not been run.
 $MAKE clean
-$MAKE recheck && Exit 1
+$MAKE recheck
 test -f bla
-test -f foo.log
-test -f bar.log
-test -f baz.log
+test -f foo.log
+test -f bar.log
+test -f baz.log
 test -f mylog.log
 :