Have `make check' re-run all the tests, every time
authorGlenn Morris <rgm@gnu.org>
Fri, 27 Jun 2014 16:27:08 +0000 (09:27 -0700)
committerGlenn Morris <rgm@gnu.org>
Fri, 27 Jun 2014 16:27:08 +0000 (09:27 -0700)
* test/automated/Makefile.in (check-maybe): Rename from check.
(check): Re-run all the tests, every time.
(clean, mostlyclean): Also delete *.log~.

test/ChangeLog
test/automated/Makefile.in

index 7ad0e9a..ba10d90 100644 (file)
@@ -1,3 +1,9 @@
+2014-06-27  Glenn Morris  <rgm@gnu.org>
+
+       * automated/Makefile.in (check-maybe): Rename from check.
+       (check): Re-run all the tests, every time.
+       (clean, mostlyclean): Also delete *.log~.
+
 2014-06-26  Glenn Morris  <rgm@gnu.org>
 
        * automated/package-x-test.el: Do not mess with load-path.
index 2670aff..fd5d92c 100644 (file)
@@ -89,13 +89,20 @@ LOGFILES = $(patsubst %.el,%.log,$(notdir ${ELFILES}))
 ## see what the problem was.
 .PRECIOUS: %.log
 
-check: ${LOGFILES}
+## Re-run all the tests every time.
+check:
+       -@for f in *.log; do test ! -f $$f || mv $$f $$f~; done
+       @${MAKE} check-maybe
+
+## Only re-run tests whose .log is older than the test.
+.PHONY: check-maybe
+check-maybe: ${LOGFILES}
        $(emacs) -l ert -f ert-summarize-tests-batch-and-exit $^
 
 .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
 
 clean mostlyclean:
-       -rm -f *.log
+       -rm -f *.log *.log~
 
 bootstrap-clean: clean
        -rm -f ${srcdir}/*.elc