]> code.delx.au - gnu-emacs/blob - test/README
Add automated test for viper-tests.el
[gnu-emacs] / test / README
1 Copyright (C) 2008-2016 Free Software Foundation, Inc.
2 See the end of the file for license conditions.
3
4 This directory contains files intended to test various aspects of
5 Emacs's functionality. Please help add tests!
6
7 Emacs uses ERT, Emacs Lisp Regression Testing, for testing. See (info
8 "(ert)") or https://www.gnu.org/software/emacs/manual/html_node/ert/
9 for more information on writing and running tests.
10
11 All ERT test files are supposed to run from subdirectory automated/.
12 The Makefile in that directory supports the following targets:
13
14 * make check
15 Run all tests as defined in the directory. Expensive tests are
16 suppressed. The result of the tests for <filename>.el is stored in
17 <filename>.log.
18
19 * make check-maybe
20 Like "make check", but run only the tests for files which have
21 unresolved prerequisites.
22
23 * make check-expensive
24 Like "make check", but run also the tests marked as expensive.
25
26 * make <filename> or make <filename>.log
27 Run all tests declared in <filename>.el. This includes expensive
28 tests. In the former case the output is shown on the terminal, in
29 the latter case the output is written to <filename>.log.
30
31 ERT offers selectors, which make it possible to filter out which test
32 cases shall run. The make variable $(SELECTOR) gives you a simple
33 mean to use your own selectors. The ERT manual describes how
34 selectors are constructed, see (info "(ert)Test Selectors") or
35 https://www.gnu.org/software/emacs/manual/html_node/ert/Test-Selectors.html
36
37 You could use predefined selectors of the Makefile. "make <filename>
38 SELECTOR='$(SELECTOR_DEFAULT)'" runs all tests for <filename>.el
39 except the tests tagged as expensive.
40
41 If your test file contains the tests "test-foo", "test2-foo" and
42 "test-foo-remote", and you want to run only the former two tests, you
43 could use a selector regexp: "make <filename> SELECTOR='\"foo$$\"'".
44
45 \f
46 (Also, see etc/compilation.txt for compilation mode font lock tests.)
47
48 \f
49 This file is part of GNU Emacs.
50
51 GNU Emacs is free software: you can redistribute it and/or modify
52 it under the terms of the GNU General Public License as published by
53 the Free Software Foundation, either version 3 of the License, or
54 (at your option) any later version.
55
56 GNU Emacs is distributed in the hope that it will be useful,
57 but WITHOUT ANY WARRANTY; without even the implied warranty of
58 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
59 GNU General Public License for more details.
60
61 You should have received a copy of the GNU General Public License
62 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.