]> git.eshelyaron.com Git - emacs.git/commitdiff
Additional changes for "make check-expensive"
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 5 Jan 2016 08:47:41 +0000 (09:47 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 5 Jan 2016 08:47:41 +0000 (09:47 +0100)
* CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
Explain make target `check-expensive'.

* etc/NEWS: Mention new make target `check-expensive'.

* test/automated/Makefile.in (check-doit): New target.
(check, check-expensive): Use it.

CONTRIBUTE
etc/NEWS
test/automated/Makefile.in

index 9061007fc9ce606e09360cf61964dc75f64f8445..9c53fe2ccccc4b5dbe90894501c3bf34f65da3f1 100644 (file)
@@ -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,
index d31d1a00a4d9f43d1cd92fe945224ef2aa08fca3..1d8a70a44cd42d2b7ada9bf86b04c3b65d5fa933 100644 (file)
--- 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.
+
 \f
 * Startup Changes in Emacs 25.1
 
index 43e3905dce576f46564bcc495775ee3186d6c35e..48920efe12e5a064b106df5757e9cc0ca08931bc 100644 (file)
@@ -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