Commit 94bb3d7a authored by Phillip Lord's avatar Phillip Lord
Browse files

Test infrastructure: updates after directory move

 * (test/Makefile.in): Support directories several levels deep.
 * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
 * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
parent 22bbf7ca
......@@ -37,7 +37,7 @@ SEPCHAR = @SEPCHAR@
# We never change directory before running Emacs, so a relative file
# name is fine, and makes life easier. If we need to change
# directory, we can use emacs --chdir.
EMACS = ../../src/emacs
EMACS = ../src/emacs
EMACS_EXTRAOPT=
......@@ -99,9 +99,10 @@ WRITE_LOG = > $@ 2>&1 || { stat=ERROR; cat $@; }; echo $$stat: $@
$(emacs) -l ert -l $$loadfile \
-f ert-run-tests-batch-and-exit ${WRITE_LOG}
ELFILES = $(sort $(wildcard ${srcdir}/*.el))
LOGFILES = $(patsubst %.el,%.log,$(notdir ${ELFILES}))
TESTS = ${LOGFILES:.log=}
ELFILES = $(sort $(wildcard ${srcdir}/*.el) $(wildcard ${srcdir}/*/*.el) \
$(wildcard ${srcdir}/*/*/*.el) $(wildcard ${srcdir}/*/*/*/*.el))
LOGFILES = $(patsubst %.el,%.log,${ELFILES})
TESTS = $(subst ${srcdir}/,,$(LOGFILES:.log=))
## If we have to interrupt a hanging test, preserve the log so we can
## see what the problem was.
......@@ -112,8 +113,8 @@ TESTS = ${LOGFILES:.log=}
## The short aliases that always re-run the tests, with no logging.
define test_template
$(1):
@test ! -f $(1).log || mv $(1).log $(1).log~
@${MAKE} $(1).log WRITE_LOG=
@test ! -f ${srcdir}/$(1).log || mv ${srcdir}/$(1).log ${srcdir}/$(1).log~
@${MAKE} ${srcdir}/$(1).log WRITE_LOG=
endef
$(foreach test,${TESTS},$(eval $(call test_template,${test})))
......@@ -132,10 +133,12 @@ check-maybe: ${LOGFILES}
.PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
clean mostlyclean:
-rm -f *.log *.log~
-rm -f ${srcdir}/*.log ${srcdir}/*.log~ ${srcdir}/*/*.log \
${srcdir}/*/*.log~ ${srcdir}/*/*/*.log \
${srcdir}/*/*/*.log~
bootstrap-clean: clean
-rm -f ${srcdir}/*.elc
-rm -f ${srcdir}/*.elc ${srcdir}/*/*.elc ${srcdir}/*/*/*.elc
distclean: clean
rm -f Makefile
......
......@@ -26,7 +26,7 @@
(require 'flymake)
(defvar flymake-tests-data-directory
(expand-file-name "data/flymake" (getenv "EMACS_TEST_DIRECTORY"))
(expand-file-name "lisp/progmodes/flymake-resources" (getenv "EMACS_TEST_DIRECTORY"))
"Directory containing flymake test data.")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment