; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
Before: make -C test SELECTOR='\"foo\"' make -C test SELECTOR='(quote (tag :some-tag))' After: make -C test SELECTOR='"foo"' make -C test SELECTOR='(tag :some-tag)' * test/Makefile.in: Use single quotes around the command line call to ert, this means the user doesn't have to backslash escape double quotes when writing lisp strings for the selector. Also wrap the SELECTOR value in (quote ...) so the user won't have to type it in (and not get tempted to use the '... reader syntax form which would now fail to work due to using single quotes around the whole shell arg). * test/README: Update instructions accordingly.
This commit is contained in:
parent
b6b793bd77
commit
5bdc344780
2 changed files with 8 additions and 5 deletions
|
@ -98,9 +98,9 @@ TEST_LOCALE = C
|
|||
TEST_INTERACTIVE ?= no
|
||||
|
||||
ifeq ($(TEST_INTERACTIVE),yes)
|
||||
TEST_RUN_ERT = --eval "(ert ${SELECTOR_ACTUAL})"
|
||||
TEST_RUN_ERT = --eval '(ert (quote ${SELECTOR_ACTUAL}))'
|
||||
else
|
||||
TEST_RUN_ERT = --batch --eval "(ert-run-tests-batch-and-exit ${SELECTOR_ACTUAL})" ${WRITE_LOG}
|
||||
TEST_RUN_ERT = --batch --eval '(ert-run-tests-batch-and-exit (quote ${SELECTOR_ACTUAL}))' ${WRITE_LOG}
|
||||
endif
|
||||
|
||||
# Whether to run tests from .el files in preference to .elc, we do
|
||||
|
@ -140,8 +140,8 @@ test_module_dir := $(srcdir)/data/emacs-module
|
|||
|
||||
all: check
|
||||
|
||||
SELECTOR_DEFAULT = (quote (not (or (tag :expensive-test) (tag :unstable))))
|
||||
SELECTOR_EXPENSIVE = (quote (not (tag :unstable)))
|
||||
SELECTOR_DEFAULT = (not (or (tag :expensive-test) (tag :unstable)))
|
||||
SELECTOR_EXPENSIVE = (not (tag :unstable))
|
||||
SELECTOR_ALL = t
|
||||
ifdef SELECTOR
|
||||
SELECTOR_ACTUAL=$(SELECTOR)
|
||||
|
|
|
@ -42,7 +42,10 @@ except the tests tagged as expensive.
|
|||
|
||||
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
|
||||
could use a selector regexp: "make <filename> SELECTOR='\"foo$$\"'".
|
||||
could use a selector regexp (note that the "$" needs to be doubled to
|
||||
protect against "make" variable expansion):
|
||||
|
||||
make <filename> SELECTOR='"foo$$"'
|
||||
|
||||
Note that although the test files are always compiled (unless they set
|
||||
no-byte-compile), the source files will be run by default, to give
|
||||
|
|
Loading…
Add table
Reference in a new issue