]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new targets to test/Makefile
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 17 Jan 2021 12:37:58 +0000 (13:37 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 17 Jan 2021 12:37:58 +0000 (13:37 +0100)
* 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.

test/Makefile.in
test/README
test/infra/gitlab-ci.yml

index 2d595d9bf162776019c83392b6d80e2538f8bf58..4ca43c8c44318cde832fb0dc809417d8051b6e37 100644 (file)
@@ -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
index 38f4a109701ad8866e4e43569968056e133223c4..58f5f38bec6c903b8d60dd865eb2e7f4db5531a7 100644 (file)
@@ -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
index f9c0e0c11ab74e736073f28046527b6141794b95..b8d068a847416678253d26feedfdb7ea26dc4956 100644 (file)
@@ -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.