diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-01-11 10:14:23 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-01-12 10:58:19 +0200 |
commit | 9bf93c1ab73ee3cd2b763285fc5fc5456e972854 (patch) | |
tree | 0357c36e12fe2137ef6c9bd228e9d69bb2489a02 /doc | |
parent | 33ed305eac57bff406fa3f672ba8acc4941e8f13 (diff) |
Implement support for narrowing down tests (config.test)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual.cli | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/manual.cli b/doc/manual.cli index 0263bc1..2fa666e 100644 --- a/doc/manual.cli +++ b/doc/manual.cli @@ -38,4 +38,46 @@ precedence. A qualified name cannot be combined with any other operator in the \c{eval-value} production shall contain single value only (no commas). +\h1#module-test|Test Module| + +The targets to be tested as well as the tests/groups from testscripts to be +run can be narrowed down using the \c{config.test} variable. While this +value is normally specified as a command line override (for example, to +quickly re-run a previously failed test), it can also be persisted in +\c{config.build} in order to create a configuration that will only run a +subset of tests by default. For example: + +\ +b test config.test=foo/exe{driver} # Only test foo/exe{driver} target. +b test config.test=bar/baz # Only run bar/baz testscript test. +\ + +The \c{config.test} variable contains a list of \c{@}-separated pairs with the +left hand side being the target and the right hand side being the testscript +id path. Either can be omitted (along with \c{@}). If the value contains a +target type or ends with a directory separator, then it is treated as a target +name. Otherwise \- an id path. The targets are resolved relative to the root +scope where the \c{config.test} value is set. For example: + +\ +b test config.test=foo/exe{driver}@bar +\ + +To specify multiple id paths for the same target we can use the pair +generation syntax: + +\ +b test config.test=foo/exe{driver}@{bar baz} +\ + +If no targets are specified (only id paths), then all the targets are tested +(with the testscript tests to be run limited to the specified id paths). If no +id paths are specified (only targets), then all the testscript tests are run +(with the targets to be tested limited to the specified targets). An id path +without a target applies to all the targets being considered. + +A directory target without an explicit target type (for example, \c{foo/}) is +treated specially. It enables all the tests at and under its directory. This +special treatment can be inhibited by specifying the target type explicitly +(for example, \c{dir{foo/\}}). " |