From 3ad05a0dc46093dd6b8958747a0475b8baba954f Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Wed, 10 Feb 2016 12:18:30 +0100 Subject: [PATCH] Describe Makefile test targets in test/README * CONTRIBUTE: Move Makefile test targets to test/README. * Makefile.in: * test/README: Describe Makefile test targets. --- CONTRIBUTE | 22 ++------------------ Makefile.in | 4 ++++ test/README | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTE b/CONTRIBUTE index 5a5cb5db5a5..d8e102dc7fb 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -257,26 +257,8 @@ If your test lasts longer than some few seconds, mark it in its 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 -" to run the tests for .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 -" as mentioned above incorporates expensive tests for -.el(c). You can also define any ert selector on the command -line. So "make check SELECTOR=nil" is equivalent to "make -check-expensive". - -You could also use predefined selectors of the Makefile. "make - SELECTOR='$(SELECTOR_DEFAULT)'" runs all tests for -.el(c) except the tests tagged as expensive. - -Selectors can be defined with different methods, see (info "(ert)Test -Selectors") or -https://www.gnu.org/software/emacs/manual/html_node/ert/Test-Selectors.html -If your test file contains the tests "test-foo", "test2-foo" and -"test-foo-remote", and you want to run only the former two tests, you -could use a regexp: "make SELECTOR='\"foo$$\"'" . +" to run the tests for .el(c). See "test/README" +for more information. ** Understanding Emacs Internals. diff --git a/Makefile.in b/Makefile.in index 75fd15001a4..b212c914e56 100644 --- a/Makefile.in +++ b/Makefile.in @@ -57,6 +57,10 @@ # # make docs # Make Emacs documentation files from their sources; requires makeinfo. +# +# make check or make check-expensive +# Run Emacs test suite. check-expensive runs also tests which +# take more time to perform. SHELL = @SHELL@ diff --git a/test/README b/test/README index 244832decdc..d2aee9bf57b 100644 --- a/test/README +++ b/test/README @@ -1,4 +1,62 @@ +Copyright (C) 2008-2016 Free Software Foundation, Inc. +See the end of the file for license conditions. + This directory contains files intended to test various aspects of Emacs's functionality. Please help add tests! +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. + +All ERT test files are supposed to run from subdirectory automated/. +The Makefile in that directory supports the following targets: + +* make check + Run all tests as defined in the directory. Expensive tests are + suppressed. The result of the tests for .el is stored in + .log. + +* make check-maybe + Like "make check", but run only the tests for files which have + unresolved prerequisites. + +* make check-expensive + Like "make check", but run also the tests marked as expensive. + +* make or make .log + Run all tests declared in .el. This includes expensive + tests. In the former case the output is shown on the terminal, in + the latter case the output is written to .log. + +ERT offers selectors, which make it possible to filter out which test +cases shall run. The make variable $(SELECTOR) gives you a simple +mean to use your own selectors. The ERT manual describes how +selectors are constructed, see (info "(ert)Test Selectors") or +https://www.gnu.org/software/emacs/manual/html_node/ert/Test-Selectors.html + +You could use predefined selectors of the Makefile. "make +SELECTOR='$(SELECTOR_DEFAULT)'" runs all tests for .el +except the tests tagged as expensive. + +If your test file contains the tests "test-foo", "test2-foo" and +"test-foo-remote", and you want to run only the former two tests, you +could use a selector regexp: "make SELECTOR='\"foo$$\"'". + + (Also, see etc/compilation.txt for compilation mode font lock tests.) + + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . -- 2.39.2