FreeBSD Manual Pages
CRUCIBLE-RUN(1) CRUCIBLE-RUN(1) NAME crucible-run - run tests SYNOPSIS crucible run [--fork|--no-fork] [--no-cleanup] [--dump|--no-dump] [--jobs=<jobs> | -j <jobs>] [--[no-]separate-cleanup-threads] [--timeout=<timeout>] [--isolation=<method> | -I <method>] [--junit-xml=<junit-xml-file>] [--device-id=<device-id>] [--all-queues] [--verbose] [<pattern>...] DESCRIPTION Run all tests that match <pattern>. If no <pattern> is 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 fn- match(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 pat- tern "*" 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. Test patterns can optionally add a suffix specifying the queue family index to use when running the test. For example func.foo.q0 will only run the func.foo test on queue family index 0, and func.foo.q1 will only run the func.foo test on queue family index 1. If the suffix is not used, then the test will be run on all detected queue families. Special tests match only patterns with special prefixes. Example tests match only patterns that start with "example.". Benchmark tests match only patterns that start with "bench.". Crucible's self tests match only pat- terns that start with "self.". As a corollary, special tests do not match the pattern "*". OPTIONS --fork, --no-fork [default: enabled] Run tests outside or inside the test runner's dispatcher process. With forking enabled, the test runner's dispatcher process is protected from test crashes. However, forking also makes debugging tests more diffi- cult. --no-cleanup Disable each test's cleanup phase. This is useful because a test may crash during cleanup but otherwise pass. --dump, --no-dump [default: disabled] Dump (or disable dumping) test images into Crucible's data directory. -j <jobs>, --jobs=<jobs> Number of tests to run simultaneously. Similar to GNU Make's -j option. --timeout=<timeout> Timeout for individual test cases in seconds. -I <method>, --isolation=<method> [default: method=process] Select the method the runner uses to isolate tests. The runner will start each test in a separate process if <method> is "p" or "process", and in a separate thread if <method> is "t" or "thread". --[no-]separate-cleanup-threads [default: enabled] If enabled, then the test's "result" thread [1] will create a new thread in which to run the test's cleanup handlers. If disabled, then the cleanup handlers will run directly in the "result" thread. This option is useful for detecting and investigating driver bugs that occur when objects are created in one thread and destroyed in another. [fn1] The test's "result" thread is the one that chooses the test re- sult, thus ending the test, usually by calling functions t_pass(), t_fail(), or t_assert(). --junit-xml=<junit-xml-file> Write JUnit XML to the given file. --device-id=<device-id> Select the Vulkan device ID (IDs start from 1). --all-queues Run tests on all queues for all queue families. By default, only the first queue from a queue family will be tested. --verbose Show more detailed output when executing tests. When VK_KHR_debug_re- port is available, show all the available messages instead of just warnings and errors. EXAMPLES * 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. $ crucible run 'example.*' * Run one test. $ crucible run func.miptree.2d.levels01 * Run multiple tests by name. $ crucible run func.miptree.2d.levels01 \ func.miptree.2d.levels02 \ func.miptree.cubemap.levels09 * Run multiple tests by glob patterns. $ 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) 08/01/2026 CRUCIBLE-RUN(1)
NAME | SYNOPSIS | DESCRIPTION | PATTERN RULES | OPTIONS | EXAMPLES | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=crucible-run&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>
