prove6(1)

πŸ“¦
version 0.0.12 Β· 2 versions
, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– NAME πŸ’–

prove6 β€” run tests through a TAP harness. bestie, this is your test-running bestie.


πŸŽ€ USAGE πŸŽ€

okay so here's the whole vibe:

prove6 [options] [files or directories]

✨ Boolean options (yes/no girlies) ✨

  • -v, --verbose β€” print ALL the test lines, every single one, no crumbs left behind.
  • -l, --lib β€” adds lib to the path for your tests (that's -Ilib, iconic).
  • --shuffle β€” runs the tests in random order, chaotic good energy.
  • --ignore-exit β€” ignore the exit status from test scripts. she does not care.
  • --reverse β€” runs the tests in reverse order. backwards slay.
  • -q, --quiet β€” suppresses some test output while running tests.
  • -Q, --QUIET β€” only prints summary results. maximum minimalism πŸ’…
  • --timer β€” prints elapsed time after each test. clock it ⏱️
  • --trap β€” traps Ctrl-C and prints the summary on interrupt.
  • --help β€” displays this help.
  • --version β€” displays the version.

πŸ¦‹ Options that take arguments (the ones who need something from you) πŸ¦‹

  • -I, --incdir β€” library paths to include.
  • -e, --exec β€” interpreter to run the tests ('' for compiled tests).
  • --ext β€” set the extensions for tests (default <t rakutest t6>).
  • --harness β€” define test harness to use. see TAP::Harness.
  • --reporter β€” result reporter to use. see REPORTERS.
  • -j, --jobs β€” run N test jobs in parallel (try 9.)
  • --err=stderr β€” direct the test's $*ERR to the harness' $*ERR.
  • --err=merge β€” merge test scripts' $*ERR with their $*OUT.
  • --err=ignore β€” ignore test script' $*ERR.

🌈 NOTES 🌈

πŸ“ Default Test Directory πŸ“

if you don't supply any files or directories, prove6 looks for all files matching the pattern t/*.t. she finds them herself, self-sufficient queen.

🌸 Colored Test Output 🌸

colored test output is the default, but ngl β€” if output is not to a terminal, color is disabled. the vibe check fails on pipes.

color support requires Terminal::ANSIColor on Unix-like platforms. if the necessary module is not installed, colored output will not be available. πŸ’€ tragic, i know.

⭐ Exit Code ⭐

if the tests fail, prove6 will exit with non-zero status. the numbers WILL tell on you.


πŸ’œ -e πŸ’œ

normally you can just pass a list of Perl 6 tests and the harness will know how to execute them. but β€” and hear me out β€” if your tests are not written in Perl 6, 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'

periodt. πŸ’…


πŸ”₯ --err πŸ”₯

  • --err=stderr β€” direct the test's $*ERR to the harness' $*ERR. this is the default behavior.
  • --err=merge β€” if you need to make sure your diagnostics are displayed in the correct order relative to test results, you can use the --err=merge option to merge the test scripts' $*ERR into their $*OUT. this guarantees that $*OUT (where the test results appear) and $*ERR (where the diagnostics appear) will stay in sync. the harness will display any diagnostics your tests emit on $*ERR.
caveat: this is a bit of a kludge. in particular, note that if anything that appears on $*ERR looks like a test result, the test harness will get confused. use this option only if you understand the consequences and can live with the risk. 🚨
ps: currently not supported.
  • --err=ignore β€” ignore the test script' $*ERR.

🧚 --trap 🧚

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. she catches the chaos and still gives you the recap. 🫢


πŸ‘‘ $*REPO πŸ‘‘

prove6 introduces a separation between "options passed to the perl which runs prove" and "options passed to the perl which runs tests"; this distinction is by design. thus the perl which is running a test starts with the default $*REPO. additional library directories can be added via the PERL6LIB environment variable, via -Ifoo in PERL6OPT, or via the -Ilib option to prove6. three ways to feed her, she eats them all. ✨


and that's the whole page, bestie πŸŽ€ β€” this was prove6(1) from the General Commands Manual, brought to you by the prove6(1) girlies themselves. mwah, go run your tests. πŸ’–πŸ¦‹πŸ’…

πŸ“¦ where this page comes from