summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorChad Versace <chad.versace@intel.com>2015-12-11 11:07:10 -0800
committerChad Versace <chad.versace@intel.com>2015-12-11 11:29:29 -0800
commitf685a550efb557974fa37b12e68524dc3aa4e1c0 (patch)
tree40af4f2304a22d3679bdb3036b76d918cab8febf /doc
parentae271b129cf3f1817b747e1c6c38f84dd8791b7c (diff)
doc/crucible-run: Document new pattern rules
Specifically, the docs need updating for exclude patterns (those that begin with '!'). That warrants a overhaul of the documentation of all pattern rules.
Diffstat (limited to 'doc')
-rw-r--r--doc/crucible-run.1.txt47
1 files changed, 35 insertions, 12 deletions
diff --git a/doc/crucible-run.1.txt b/doc/crucible-run.1.txt
index 94cef8c..ed78eb5 100644
--- a/doc/crucible-run.1.txt
+++ b/doc/crucible-run.1.txt
@@ -17,11 +17,25 @@ SYNOPSIS
DESCRIPTION
-----------
-Run tests in the order given on the command line. If no tests are given, then
-run all functional tests and stress tests (those whose name matches "func.*" or
-"stress.*"). The list of <pattern>s may consist of a mixture of literal test
-names and glob patterns. Crucible matches test names against glob patterns
-using *fnmatch(3)*.
+Run tests in the order given on the command line. If no test patterns are
+given, then run all functional tests and stress tests (those whose name matches
+"func.\*" or "stress.*").
+
+PATTERN RULES
+-------------
+Crucible matches each test name against the given glob <pattern>s with
+*fnmatch(3)*. The patterns are tested in order from left to right, and the last
+matching pattern wins. If no test pattern is given, then the implied pattern
+"*" is used.
+
+Test patterns that begin with \'!' denotes an exclude rule; otherwise the
+pattern denotes an include rule. If the first given pattern is an exclude
+pattern, then Crucible inserts an implied "*" as the first pattern.
+
+Special tests match only patterns with special prefixes. Example tests match
+only patterns that start with "example.". Crucible's self tests match only
+patterns that start with "self.". As a corollary, special tests do not match
+the pattern "*".
OPTIONS
-------
@@ -65,10 +79,13 @@ OPTIONS
EXAMPLES
--------
-* Run all tests (except example tests).
+* Run all functional tests and stress tests. The following invocations are all
+ equivalent.
+
----
$ crucible run
+$ crucible run '*'
+$ crucible run 'func.*' 'stress.*'
----
* Run all example tests.
@@ -77,12 +94,6 @@ $ crucible run
$ crucible run 'example.*'
----
-* Run all functional and stress tests.
-+
-----
-$ crucible run 'func.*' 'stress.*'
-----
-
* Run one test.
+
----
@@ -104,6 +115,18 @@ $ crucible run 'func.miptree.cubemap.*' \
'func.txf.*'
----
+* Run all functional tests and stress tests except foo and bar.
++
+----
+$ crucible run '!foo' '!bar'
+----
+
+* Run all functional tests except the fooish tests.
++
+----
+$ crucible run 'func.*' '!func.fooish.*'
+----
+
SEE ALSO
--------
*crucible-ls-tests(1)*