diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2021-01-17 13:37:58 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2021-01-17 13:37:58 +0100 |
commit | 39a65844e8d67b5ca3bb2d179e899ff99cd85618 (patch) | |
tree | d527633e01c8040a7d5cc8ab5ca70fccca5e6025 | |
parent | 152964362f905ba4f6d60d8c082330b739b8bc8e (diff) | |
download | emacs-39a65844e8d67b5ca3bb2d179e899ff99cd85618.tar.gz |
Add new targets to test/Makefile
* test/Makefile.in (SUBDIRS): New variable.
(subdir_template): New template.
(top) Create new check-<dirname> targets.
* test/README: Document them.
* test/infra/gitlab-ci.yml (test-lisp-net-inotify): Rename.
-rw-r--r-- | test/Makefile.in | 20 | ||||
-rw-r--r-- | test/README | 9 | ||||
-rw-r--r-- | test/infra/gitlab-ci.yml | 4 |
3 files changed, 19 insertions, 14 deletions
diff --git a/test/Makefile.in b/test/Makefile.in index 2d595d9bf16..4ca43c8c443 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -246,11 +246,17 @@ endef $(foreach test,${TESTS},$(eval $(call test_template,${test}))) -# Get the tests for only a specific directory -NET_TESTS := $(patsubst %.el,%,$(wildcard lisp/net/*.el)) -LISP_TESTS := $(patsubst %.el,%,$(wildcard lisp/*.el)) -check-net: ${NET_TESTS} -check-lisp: ${LISP_TESTS} +## Get the tests for only a specific directory. +SUBDIRS = $(sort $(shell find lisp src -type d ! -path "*resources*" -print)) + +define subdir_template + .PHONY: check-$(subst /,-,$(1)) + check-$(subst /,-,$(1)): + @${MAKE} check LOGFILES="$(patsubst %.el,%.log, \ + $(patsubst $(srcdir)/%,%,$(wildcard $(1)/*.el)))" +endef + +$(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir)))) ifeq (@HAVE_MODULES@, yes) # -fPIC is a no-op on Windows, but causes a compiler warning @@ -318,10 +324,10 @@ check-doit: ifeq ($(TEST_INTERACTIVE), yes) HOME=$(TEST_HOME) $(emacs) \ -l ert ${ert_opts} \ - $(patsubst %,-l %,$(if $(findstring $(TEST_LOAD_EL),yes),$ELFILES,$(ELFILES:.el=))) \ + $(patsubst %,-l %,$(if $(findstring $(TEST_LOAD_EL),yes),$ELFILES,$(ELFILES:.el=))) \ $(TEST_RUN_ERT) else - -@${MAKE} -k ${LOGFILES} + -@${MAKE} -k ${LOGFILES} @$(emacs) --batch -l ert --eval \ "(ert-summarize-tests-batch-and-exit ${SUMMARIZE_TESTS})" ${LOGFILES} endif diff --git a/test/README b/test/README index 38f4a109701..58f5f38bec6 100644 --- a/test/README +++ b/test/README @@ -39,11 +39,10 @@ The Makefile in this directory supports the following targets: * make check-all Like "make check", but run all tests. -* make check-lisp - Like "make check", but run only the tests in test/lisp/*.el - -* make check-net - Like "make check", but run only the tests in test/lisp/net/*.el +* make check-<dirname> + Like "make check", but run only the tests in test/<dirname>/*.el. + <dirname> is a relative directory path, which has replaced "/" by "-", + like in "check-src" or "check-lisp-net". * make <filename> -or- make <filename>.log Run all tests declared in <filename>.el. This includes expensive diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index f9c0e0c11ab..b8d068a8474 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -182,12 +182,12 @@ test-lisp-inotify: target: emacs-inotify make_params: "-C test check-lisp" -test-net-inotify: +test-lisp-net-inotify: stage: normal extends: [.job-template, .test-template] variables: target: emacs-inotify - make_params: "-C test check-net" + make_params: "-C test check-lisp-net" test-filenotify-gio: # This tests file monitor libraries gfilemonitor and gio. |