From 31eac1d10e23485d9ed38875300eb6ea8f8e61eb Mon Sep 17 00:00:00 2001
From: Glenn Morris <rgm@gnu.org>
Date: Fri, 27 Jun 2014 09:27:08 -0700
Subject: [PATCH] Have `make check' re-run all the tests, every time

* test/automated/Makefile.in (check-maybe): Rename from check.
(check): Re-run all the tests, every time.
(clean, mostlyclean): Also delete *.log~.
---
 test/ChangeLog             |  6 ++++++
 test/automated/Makefile.in | 11 +++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/test/ChangeLog b/test/ChangeLog
index 7ad0e9a4b9d..ba10d90aab1 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -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.
diff --git a/test/automated/Makefile.in b/test/automated/Makefile.in
index 2670aff5dc2..fd5d92cc571 100644
--- a/test/automated/Makefile.in
+++ b/test/automated/Makefile.in
@@ -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
-- 
2.39.5