1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-21 06:55:39 +00:00

Add short test aliases that always re-run the tests

* test/automated/Makefile.in (TESTS): New list of short PHONY aliases.
(test_template): New definition.  Apply to TESTS.
This commit is contained in:
Glenn Morris 2014-06-27 21:11:04 -04:00
parent 8076b12438
commit 06a9b8f6eb
2 changed files with 28 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-06-28 Glenn Morris <rgm@gnu.org>
* automated/Makefile.in (TESTS): New list of short PHONY aliases.
(test_template): New definition. Apply to TESTS.
2014-06-27 Glenn Morris <rgm@gnu.org>
* automated/Makefile.in (check-maybe): Rename from check.

View File

@ -17,6 +17,16 @@
# You should have received a copy of the GNU General Public License
# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
### Commentary:
## Some targets:
## check: re-run all tests
## check-maybe: run all tests whose .log file needs updating
## filename.log: run tests from filename.el(c) if .log file needs updating
## filename: re-run tests from filename.el(c)
### Code:
SHELL = @SHELL@
srcdir = @srcdir@
@ -84,11 +94,24 @@ all: check
ELFILES = $(wildcard ${srcdir}/*.el)
LOGFILES = $(patsubst %.el,%.log,$(notdir ${ELFILES}))
TESTS = ${LOGFILES:.log=}
## If we have to interrupt a hanging test, preserve the log so we can
## see what the problem was.
.PRECIOUS: %.log
.PHONY: ${TESTS}
## The short aliases that always re-run the tests.
define test_template
$(1):
@test ! -f $(1).log || mv $(1).log $(1).log~
@${MAKE} $(1).log
endef
$(foreach test,${TESTS},$(eval $(call test_template,${test})))
## Re-run all the tests every time.
check:
-@for f in *.log; do test ! -f $$f || mv $$f $$f~; done