ert accept a test selector, a Lisp
expression specifying a set of tests. Test selector syntax is similar
to Common Lisp's type specifier syntax:
nilselects no tests.
tselects all tests.
:newselects all tests that have not been run yet.
:passedselect tests according to their most recent result.
:unexpectedselect tests according to their most recent result.
ert-testdata type) selects that test.
(member TESTS...)selects the elements of TESTS, a list of tests or symbols naming tests.
(eql TEST)selects TEST, a test or a symbol naming a test.
(and SELECTORS...)selects the tests that match all SELECTORS.
(or SELECTORS...)selects the tests that match any SELECTOR.
(not SELECTOR)selects all tests that do not match SELECTOR.
(tag TAG)selects all tests that have TAG on their tags list. (Tags are optional labels you can apply to tests when you define them.)
(satisfies PREDICATE)selects all tests that satisfy PREDICATE, a function that takes a test as argument and returns non-nil if it is selected.
Selectors that are frequently useful when selecting tests to run
t to run all tests that are currently defined in Emacs,
"^foo-" to run all tests in package
foo (this assumes
foo uses the prefix
foo- for its test names),
result-based selectors such as
(or :new :unexpected) to
run all tests that have either not run yet or that had an unexpected
result in the last run, and tag-based selectors such as
(tag :causes-redisplay)) to run all tests that are not tagged