summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTE8
-rw-r--r--etc/NEWS4
-rw-r--r--test/automated/Makefile.in20
3 files changed, 24 insertions, 8 deletions
diff --git a/CONTRIBUTE b/CONTRIBUTE
index 9061007fc9c..9c53fe2cccc 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -251,12 +251,20 @@ Emacs uses ERT, Emacs Lisp Regression Testing, for testing. See (info
"(ert)") or https://www.gnu.org/software/emacs/manual/html_node/ert/
for more information on writing and running tests.
+If your test lasts longer than some few seconds, mark it in its
+`ert-deftest' definition with ":tags '(:expensive-test)".
+
To run tests on the entire Emacs tree, run "make check" from the
top-level directory. Most tests are in the directory
"test/automated". From the "test/automated" directory, run "make
<filename>" to run the tests for <filename>.el(c). See
"test/automated/Makefile" for more information.
+Tests which are tagged ":expensive-test" are enabled additionally, if
+you run "make check-expensive" from the top-level directory. "make
+<filename>" as mentioned above incorporates expensive tests for
+<filename>.el(c).
+
** Understanding Emacs Internals.
The best way to understand Emacs Internals is to read the code,
diff --git a/etc/NEWS b/etc/NEWS
index d31d1a00a4d..1d8a70a44cd 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -96,6 +96,10 @@ so if you want to use it, you can always take a copy from an older Emacs.
Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
The old Emacs logo icons are available as `emacs23.png' in the same location.
+** New make target `check-expensive' to run additional tests.
+This includes all tests which run via "make check", plus additional
+tests which take more time to perform.
+
* Startup Changes in Emacs 25.1
diff --git a/test/automated/Makefile.in b/test/automated/Makefile.in
index 43e3905dce5..48920efe12e 100644
--- a/test/automated/Makefile.in
+++ b/test/automated/Makefile.in
@@ -87,9 +87,9 @@ WRITE_LOG = > $@ 2>&1 || { stat=ERROR; cat $@; }; echo $$stat: $@
## to change this; bug#17848 - if that gets done, this can be simplified).
##
## Beware: it approximates 'no-byte-compile', so watch out for false-positives!
-SELECTOR_DEFAULT=(not (tag :expensive-test))
+SELECTOR_DEFAULT=(quote (not (tag :expensive-test)))
SELECTOR_EXPENSIVE=nil
-SELECTOR=${SELECTOR_DEFAULT}
+SELECTOR=
%.log: ${srcdir}/%.el
@if grep '^;.*no-byte-compile: t' $< > /dev/null; then \
loadfile=$<; \
@@ -100,7 +100,7 @@ SELECTOR=${SELECTOR_DEFAULT}
echo Testing $$loadfile; \
stat=OK ; \
$(emacs) -l ert -l $$loadfile \
- --eval "(ert-run-tests-batch-and-exit '${SELECTOR})" ${WRITE_LOG}
+ --eval "(ert-run-tests-batch-and-exit ${SELECTOR})" ${WRITE_LOG}
ELFILES = $(sort $(wildcard ${srcdir}/*.el))
LOGFILES = $(patsubst %.el,%.log,$(notdir ${ELFILES}))
@@ -121,16 +121,20 @@ endef
$(foreach test,${TESTS},$(eval $(call test_template,${test})))
-
-## Re-run all the tests every time.
+## Rerun default tests.
check:
- -@for f in *.log; do test ! -f $$f || mv $$f $$f~; done
- @${MAKE} check-maybe
+ @${MAKE} check-doit SELECTOR="${SELECTOR_DEFAULT}"
## Rerun also expensive tests.
.PHONY: check-expensive
check-expensive:
- @${MAKE} check SELECTOR=${SELECTOR_EXPENSIVE}
+ @${MAKE} check-doit SELECTOR="${SELECTOR_EXPENSIVE}"
+
+## Re-run all the tests every time.
+.PHONY: check-doit
+check-doit:
+ -@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