Handle also test/lib-src directory

* test/Makefile.in (SUBDIRS): Add lib-src.

* test/README: Add predefined selectors.

* test/file-organization.org: Mention test/lib-src directory.
This commit is contained in:
Michael Albinus 2021-01-19 14:12:22 +01:00
parent f2f06b0209
commit 91a6e19337
3 changed files with 13 additions and 9 deletions

View file

@ -247,7 +247,7 @@ endef
$(foreach test,${TESTS},$(eval $(call test_template,${test})))
## Get the tests for only a specific directory.
SUBDIRS = $(sort $(shell find lisp src -type d ! -path "*resources*" -print))
SUBDIRS = $(sort $(shell find lib-src lisp src -type d ! -path "*resources*" -print))
define subdir_template
.PHONY: check-$(subst /,-,$(1))

View file

@ -60,7 +60,9 @@ https://www.gnu.org/software/emacs/manual/html_node/ert/Test-Selectors.html
You could use predefined selectors of the Makefile. "make <filename>
SELECTOR='$(SELECTOR_DEFAULT)'" runs all tests for <filename>.el
except the tests tagged as expensive or unstable.
except the tests tagged as expensive or unstable. Other predefined
selectors are $(SELECTOR_EXPENSIVE) (run all tests except unstable
ones) and $(SELECTOR_ALL) (run all tests).
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

View file

@ -17,13 +17,15 @@ Sub-directories are in many cases themed after packages (~gnus~, ~org~,
~calc~), related functionality (~net~, ~emacs-lisp~, ~progmodes~) or status
(~obsolete~).
C source is stored in the ~src~ directory, which is flat.
C source is stored in the ~src~ directory, which is flat. Source for
utility programs is stored in the ~lib-src~ directory.
** Test Files
Automated tests should be stored in the ~test/lisp~ directory for
tests of functionality implemented in Lisp, and in the ~test/src~
directory for functionality implemented in C. Tests should reflect
tests of functionality implemented in Lisp, in the ~test/src~
directory for functionality implemented in C, and in the
~test/lib-src~ directory for utility programs. Tests should reflect
the directory structure of the source tree; so tests for files in the
~lisp/emacs-lisp~ source directory should reside in the
~test/lisp/emacs-lisp~ directory.
@ -36,10 +38,10 @@ files of any name which are themselves placed in a directory named
after the feature with ~-tests~ appended, such as
~/test/lisp/emacs-lisp/eieio-tests~
Similarly, features implemented in C should reside in ~/test/src~ and
be named after the C file with ~-tests.el~ added to the base-name of
the tested source file. Thus, tests for ~src/fileio.c~ should be in
~test/src/fileio-tests.el~.
Similarly, tests of features implemented in C should reside in
~/test/src~ or in ~test/lib-src~ and be named after the C file with
~-tests.el~ added to the base-name of the tested source file. Thus,
tests for ~src/fileio.c~ should be in ~test/src/fileio-tests.el~.
There are also some test materials that cannot be run automatically
(i.e. via ert). These should be placed in ~/test/manual~; they are