Rand Stats




prove6 - Run tests through a TAP harness.


prove6 [options] [files or directories]

Boolean options
-v--verbosePrint all test lines.
-l--libAdd 'lib' to the path for your tests (-Ilib).
--shuffleRun the tests in random order.
--ignore-exitIgnore exit status from test scripts.
--reverseRun the tests in reverse order.
-q--quietSuppress some test output while running tests.
-Q--QUIETOnly print summary results.
--timerPrint elapsed time after each test.
--trapTrap Ctrl-C and print summary on interrupt.
--helpDisplay this help
--versionDisplay the version
Options with arguments
-I--incdirLibrary paths to include.
-e--execInterpreter to run the tests ('' for compiled tests.)
--extSet the extensions for tests (default <t rakutest t6>)
--harnessDefine test harness to use. See TAP::Harness.
--reporterResult reporter to use.
-j--jobsRun N test jobs in parallel (try 9.)
--cwdRun in certain directory
--err=stderrDirect the test's $*ERR to the harness' $*ERR.
--err=ignoreIgnore test scripts' $*ERR.


Default Test Directory

If no files or directories are supplied, prove6 looks for all files matching the pattern *.{t,t6,rakutest} under the directory t.

Colored Test Output

Colored test output is the default, but if output is not to a terminal, color is disabled.

Color support requires Terminal::ANSIColor on Unix-like platforms. If the necessary module is not installed colored output will not be available.

Exit Code

If the tests fail prove6 will exit with non-zero status.


Normally you can just pass a list of Raku tests and the harness will know how to execute them. However, if your tests are not written in Raku or if you want all tests invoked exactly the same way, use the -e switch:

prove6 -e='/usr/bin/ruby -w' t/
prove6 -e='/usr/bin/perl -Tw -mstrict -Ilib' t/
prove6 -e='/path/to/my/customer/exec'



The --trap option will attempt to trap SIGINT (Ctrl-C) during a test run and display the test summary even if the run is interrupted


prove6 introduces a separation between "options passed to the raku which runs prove6" and "options passed to the raku which runs tests"; this distinction is by design. Thus the raku which is running a test starts with the default $*REPO. Additional library directories can be added via the RAKULIB environment variable or via the -Ilib option to prove6.