From 91a6e1933722439cb81ed58d655a8c62ee05009f Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Tue, 19 Jan 2021 14:12:22 +0100 Subject: [PATCH] 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. --- test/Makefile.in | 2 +- test/README | 4 +++- test/file-organization.org | 16 +++++++++------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/test/Makefile.in b/test/Makefile.in index 4ca43c8c443..c5e86df3761 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -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)) diff --git a/test/README b/test/README index 58f5f38bec6..5f3c10adbe1 100644 --- a/test/README +++ b/test/README @@ -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 SELECTOR='$(SELECTOR_DEFAULT)'" runs all tests for .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 diff --git a/test/file-organization.org b/test/file-organization.org index efc354529c5..7cf5b88d6d0 100644 --- a/test/file-organization.org +++ b/test/file-organization.org @@ -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 -- 2.39.5