Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help