Skip to content

Commit

Permalink
Add new targets to test/Makefile
Browse files Browse the repository at this point in the history
* 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.
  • Loading branch information
albinus committed Jan 17, 2021
1 parent 1529643 commit 39a6584
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 14 deletions.
20 changes: 13 additions & 7 deletions test/Makefile.in
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
9 changes: 4 additions & 5 deletions test/README
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions test/infra/gitlab-ci.yml
Expand Up @@ -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.
Expand Down

0 comments on commit 39a6584

Please sign in to comment.