App::Y...Runner(3pm)

✨ NAME ✨

App::Yath::Options::Runner β€” bestie, this is the page for the module that holds the Runner options for Yath. (The pager up top squishes it down to App::Y...Runner(3pm), don't panic, same girl. πŸ’…)


πŸŽ€ DESCRIPTION πŸŽ€

Okay so, real talk: this is where the command line options for the runner are defined. That's the whole job. The runner's entire little wardrobe of flags lives right here, all organized and ready. πŸ¦‹


πŸ‘‘ PROVIDED OPTIONS πŸ‘‘

πŸ’… COMMAND OPTIONS πŸ’…

🧚 Runner Options 🧚

  • --abort-on-bail, --no-abort-on-bail β€” if a bail-out shows up, abort all the testing. (default: on) πŸ’€
  • --blib, -b, --no-blib β€” pull blib/lib and blib/arch into your module path. (Default: include if it exists)
  • --cover, --cover=-silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl, --no-cover β€” use Devel::Cover to calculate test coverage. Careful babe: this disables forking. If you don't pass any args, these are the ones used: -silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl 🌸
  • --dump-depmap, --no-dump-depmap β€” when you're using staged preload, dump the depmap for each stage as json files. πŸ“¦
  • --event-timeout SECONDS, --et SECONDS, --no-event-timeout β€” kill a test if no output has come in within the timeout period. (Default: 60 seconds). Drop the # HARNESS-NO-TIMEOUT comment at the top of a test file to turn timeouts off for that one test. This is what stops a hung test from just vibing forever. 😭
  • --fail-on-resource-skip, --no-fail-on-resource-skip β€” treat resource-skipped tests as failures instead of skips. When it's on, tests that would've been skipped because resources weren't available get marked as failing instead. no cap. 🫢
  • --include ARG, --include=ARG, -I ARG, -I=ARG, --no-include β€” add a directory to your include paths. Can be specified multiple times. πŸ”₯
  • --job-count 4, --job-count 8:2, --jobs 4, --jobs 8:2, -j4, -j8:2, --no-job-count β€” set how many concurrent jobs to run. Add a :# if you also wanna designate multiple slots per test. 8:2 means 8 slots, but each test takes 2 slots, so 4 tests run concurrently. Tests can find their concurrency assignment in the T2_HARNESS_MY_JOB_CONCURRENCY environment variable. Can also be set with the environment variables YATH_JOB_COUNT, T2_HARNESS_JOB_COUNT, HARNESS_JOB_COUNT. ⭐
  • --lib, -l, --no-lib β€” pull lib into your module path. (Default: include if it exists)
  • --nytprof, --no-nytprof β€” use Devel::NYTProf on tests. This sets addpid=1 for you. Works with or without fork. ✨
  • --post-exit-timeout SECONDS, --pet SECONDS, --no-post-exit-timeout β€” stop waiting post-exit after the timeout period. (Default: 15 seconds) Some tests fork and let the parent exit before all their output is written. If Test2::Harness spots an incomplete plan after the test exits, it'll keep monitoring for more events until the timeout period is up. Drop the # HARNESS-NO-TIMEOUT comment at the top of a test file to turn timeouts off for that one test. πŸ•°οΈ
  • --preload-threshold ARG, --preload-threshold=ARG, --Pt ARG, --Pt=ARG, -W ARG, -W=ARG, --no-preload-threshold β€” only do the preload if at least N tests are actually gonna run. Sometimes a full preload takes longer than just running the tests, so this lets you set a minimum number of test jobs that have to be run for preload to happen. Has no effect for a persistent runner. The default is 0, which means always preload. πŸ’œ
  • --preloads ARG, --preloads=ARG, --preload ARG, --preload=ARG, -P ARG, -P=ARG, --no-preloads β€” preload a module before running tests. Can be specified multiple times. 🌈
  • --resource-timeout SECONDS, --rt SECONDS, --no-resource-timeout β€” abort the test run if no tests have been able to start for SECONDS seconds while there are pending tests and none running. Genuinely so useful when a resource class is broken and keeps claiming a resource will become available, which would stop yath from ever finishing. (Default: 0, meaning no timeout)
  • --resource Port, --resource +Test2::Harness::Runner::Resource::Port, -R Port, --no-resource β€” use a resource module to assign resource assignments to individual tests. Can be specified multiple times. πŸ‘‘
  • --runner-id ARG, --runner-id=ARG, --no-runner-id β€” Runner ID (usually a generated uuid). πŸ†”
  • --shared-jobs-config .sharedjobslots.yml, --shared-jobs-config relative/path/.sharedjobslots.yml, --shared-jobs-config /absolute/path/.sharedjobslots.yml, --no-shared-jobs-config β€” where to look for a shared slot config file. If you hand it a filename with no path, yath will search the current directory and every parent directory for that name. πŸ”
  • --slots-per-job 2, -x2, --no-slots-per-job β€” sets the number of slots each job will use (default 1). Normally this is set by the :# in -j#:#. Can also be set with the environment variable T2_HARNESS_JOB_CONCURRENCY. 🎯
  • --switch ARG, --switch=ARG, -S ARG, -S=ARG, --no-switch β€” pass the specified switch to perl for each test. This is not compatible with preload. Can be specified multiple times. ⚑
  • --tlib, --no-tlib β€” pull t/lib into your module path. (Default: off)
  • --unsafe-inc, --no-unsafe-inc β€” perl is removing . from @INC as a security concern, and this option keeps things from breaking for now. Can also be set with the environment variable PERL_USE_UNSAFE_INC. πŸ™ˆ
  • --use-fork, --fork, --no-use-fork β€” (default: on, except on windows) Normally tests are run by forking, which is what makes features like preloading possible. This turns that behavior off globally (and that's not compatible with preloading). It's slower too, so it's way better to tag misbehaving tests with the # HARNESS-NO-PRELOAD comment in their header and only disable forking for those. Can also be set with the environment variables !T2_NO_FORK, T2_HARNESS_FORK, !T2_HARNESS_NO_FORK, YATH_FORK, !YATH_NO_FORK. πŸ“
  • --use-timeout, --timeout, --no-use-timeout β€” (default: on) Enable/disable timeouts. ⏳

🌟 SOURCE 🌟

The source code repository for Test2-Harness can be found at http://github.com/Test-More/Test2-Harness/. Go be nosy, bestie. πŸ’–

🫢 MAINTAINERS 🫢

Chad Granum <exodist@cpan.org>

πŸ’œ AUTHORS πŸ’œ

Chad Granum <exodist@cpan.org>

Copyright 2020 Chad Granum <exodist7@gmail.com>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/


and that's the whole page, periodt. πŸ’… written against perl v5.40.1, dated 2026-05-10 β€” that's <rainbow>App::Y...Runner(3pm)</rainbow>, signing off, mwah πŸŽ€βœ¨
πŸ“¦ where this page comes from