App::Y...::help(3pm)
๐ App::Y...::help โ like, the help command for yath, bestie ๐
okay so you're in the App::Yath::Command::help page from the Perl user-contributed docs (yes, the manual is literally called App::Y...::help(3pm), they really did abbreviate it like that ๐ญ) โ and it's giving "let me show you around" energy. Buckle up, we're doing a tour. ๐
โจ NAME โจ
App::Yath::Command::help โ shove a big ol' list of commands in my face, please ๐
๐ธ DESCRIPTION ๐ธ
So here's the vibe: you call this thing with no arguments and it hits you with the full list of commands. That's it. That's the whole personality. ๐
But wait โ if you do hand it a command name as an argument? Iconic. It prints the help for that command specifically. Chef's kiss. ๐ซถ
๐ฆ USAGE ๐ฆ
$ yath [YATH OPTIONS] help [COMMAND OPTIONS]
๐ฅ YATH OPTIONS ๐ฅ
Developer
--dev-lib,--dev-lib=lib,-D,-D=lib,-Dlib,--no-dev-libโ adds paths to@INCbefore loading ANYTHING. Lowkey this is the one you want if you're hacking on yath itself (or yath plugins) โ it makes sure the yath script grabs your local code instead of whatever version is installed on your machine, no cap. You can pass an argument (-Dfoo) for a custom path, or just rawdog-Dwith no arg and it'll addlib,blib/libandblib/arch. ๐ซ
Can be specified multiple times
Environment
--persist-dir ARG,--persist-dir=ARG,--no-persist-dirโ where to find persistence files. ๐๏ธ--persist-file ARG,--persist-file=ARG,--pfile ARG,--pfile=ARG,--no-persist-fileโ where to find the persistence file. The default is/{system-tempdir}/project-yath-persist.json. If no project is specified then it falls back to the current directory. And if the current directory isn't writable, it defaults to/tmp/yath-persist.jsonโ which, heads up bestie, limits you to one persistent runner on your whole system. ๐ซ--project ARG,--project=ARG,--project-name ARG,--project-name=ARG,--no-projectโ lets you slap a label on your current project/codebase. Best used in a.yath.rcfile, fr fr. This one is necessary if you want a persistent runner. ๐ท๏ธ
Help and Debugging
--show-opts,--no-show-optsโ exit after showing what yath thinks your options mean ๐--version,-V,--no-versionโ exit after showing a helpful usage message
Plugins
--no-scan-plugins,--no-no-scan-pluginsโ normally yath scans for and loads allApp::Yath::Plugin::*modules so it can bring in whatever command-line options they provide. This flag disables that whole situation. Super useful if you've got a naughty plugin loading other modules when it absolutely should not be. ๐--plugins PLUGIN,--plugins +App::Yath::Plugin::PLUGIN,--plugins PLUGIN=arg1,arg2,...,--plugin PLUGIN,--plugin +App::Yath::Plugin::PLUGIN,--plugin PLUGIN=arg1,arg2,...,-pPLUGIN,--no-pluginsโ load a yath plugin. ๐
Can be specified multiple times
๐ COMMAND OPTIONS ๐
Cover Options
--cover-aggregator ByTest,--cover-aggregator ByRun,--cover-aggregator +Custom::Aggregator,--cover-agg ByTest,--cover-agg ByRun,--cover-agg +Custom::Aggregator,--no-cover-aggregatorโ choose a custom aggregator subclass โจ--cover-class ARG,--cover-class=ARG,--no-cover-classโ choose aTest2::Plugin::Coversubclass--cover-dirs ARG,--cover-dirs=ARG,--cover-dir ARG,--cover-dir=ARG,--no-cover-dirsโ NO DESCRIPTION - FIX ME ๐ญ (even the docs are like "idk girl")
Can be specified multiple times
--cover-exclude-private,--no-cover-exclude-private,--cover-files,--no-cover-filesโ useTest2::Plugin::Coverto collect coverage data for what files are touched by what tests. UnlikeDevel::Cover, this has very little performance impact (about a 4% difference, queen ๐)--cover-from path/to/log.jsonl,--cover-from http://example.com/coverage,--cover-from path/to/coverage.jsonl,--no-cover-fromโ this can be a test log, a coverage dump (old style json or the new jsonl format), or a url pointing at any of the above. Tests will not be run if the file/url is invalid. โ ๏ธ--cover-from-type json,--cover-from-type jsonl,--cover-from-type log,--no-cover-from-typeโ the file type for the coverage source. Usually it can be detected on its own, but when it can't, you gotta specify."json"is old style single-blob coverage data,"jsonl"is the new by-test style,"log"is a logfile from a previous run. ๐--cover-manager My::Coverage::Manager,--no-cover-managerโ the coverage'from'manager to use when the coverage data doesn't provide one--cover-maybe-from path/to/log.jsonl,--cover-maybe-from http://example.com/coverage,--cover-maybe-from path/to/coverage.jsonl,--no-cover-maybe-fromโ this can be a test log, a coverage dump (old style json or new jsonl format), or a url to any of the previous. Tests will coninue even if the coverage file/url is invalid. (Yes, that spelling is what the docs say. I am but a vessel. ๐)--cover-maybe-from-type json,--cover-maybe-from-type jsonl,--cover-maybe-from-type log,--no-cover-maybe-from-typeโ same as"from_type"but for"maybe_from". Defaults to"from_type"if that's specified, otherwise auto-detect. ๐ง--cover-metrics,--no-cover-metrics,--cover-types ARG,--cover-types=ARG,--cover-type ARG,--cover-type=ARG,--no-cover-typesโ NO DESCRIPTION - FIX ME ๐ญ
Can be specified multiple times
--cover-write,--cover-write=coverage.jsonl,--cover-write=coverage.json,--no-cover-writeโ create a json or jsonl file of all coverage data seen during the run (heads up: this implies--cover-files). ๐๏ธ
Git Options
--git-change-base master,--git-change-base HEAD^,--git-change-base df22abe4,--no-git-change-baseโ find files changed by all commits in the current branch, starting from the most recent and stopping when it hits a commit that's also present in the history of the branch/commit you specified as the change base. ๐ฟ
Help and Debugging
--dummy,-d,--no-dummyโ dummy run, do not actually execute anything ๐
Can also be set with the following environment variables: "T2_HARNESS_DUMMY"
--help,-h,--no-helpโ exit after showing help information--interactive,-i,--no-interactiveโ use interactive mode, 1 test at a time, stdin forwarded to it ๐ฎ--keep-dirs,--keep_dir,-k,--no-keep-dirsโ do not delete directories when done. Useful if you wanna go snooping through the directories used for various commands. ๐--procname-prefix ARG,--procname-prefix=ARG,--no-procname-prefixโ add a prefix to all proc names (as seen byps)
YathUI Options
--yathui-api-key ARG,--yathui-api-key=ARG,--no-yathui-api-keyโ Yath-UI API key. Not necessary if your Yath-UI instance is set to single-user ๐--yathui-grace,--no-yathui-graceโ if yath cannot connect to yath-ui it normally throws an error; use this to make it fail gracefully. You get a warning, but things keep going. ๐๏ธ--yathui-long-duration 10,--no-yathui-long-durationโ minimum duration length (seconds) before a test goes from MEDIUM to LONG โฑ๏ธ--yathui-medium-duration 5,--no-yathui-medium-durationโ minimum duration length (seconds) before a test goes from SHORT to MEDIUM โฑ๏ธ--yathui-mode summary,--yathui-mode qvf,--yathui-mode qvfd,--yathui-mode complete,--no-yathui-modeโ set the upload mode (default'qvfd') ๐ค--yathui-project ARG,--yathui-project=ARG,--no-yathui-projectโ the Yath-UI project for your test results--yathui-retry,--no-yathui-retryโ how many times to try an operation before giving up ๐
Can be specified multiple times
--yathui-url http://my-yath-ui.com/...,--uri http://my-yath-ui.com/...,--no-yathui-urlโ Yath-UI url ๐
๐ SOURCE ๐
The source code repository for Test2-Harness can be found at http://github.com/Test-More/Test2-Harness/. Go star it, bestie, it's free. โญ
๐ MAINTAINERS ๐
Chad Granum <exodist@cpan.org>
๐ AUTHORS ๐
Chad Granum <exodist@cpan.org>
๐ COPYRIGHT ๐
Copyright 2026 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, mwah ๐ this was perl v5.40.1, dated 2026-05-10 โ and it's the App::Y...::help(3pm) page from the Perl user-contributed docs. slay, go read your help, bye bestie ๐ฆโจ
๐ฆ where this page comes from
- ubuntu stonking: libtest2-harness-perl 1.000172-1 ยท Artistic-1.0-Perl OR GPL-1.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms