Commit 5bdc3447 authored by Noam Postavsky's avatar Noam Postavsky

; 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.
parent b6b793bd
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment