App::Y...::init(3pm)
πΈ App::Y...::init(3pm) β aka the manual page for App::Yath::Command::init π
okay bestie, this is the init page from the User Contributed Perl Documentation section (3pm), and it's literally the glow-up your test suite has been waiting for β¨
β¨ NAME β¨
App::Yath::Command::init β Create/update test.pl to run tests via Test2::Harness π
π¦ DESCRIPTION π¦
okay so this command is gonna create or update the test.pl file in the current directory. and the test.pl file it makes? it runs ALL your tests via yath. like, every single one. no tests left behind. periodt π
β οΈ but listen β this command will fail if there is already atest.plfile that does not look like it was generated by this command. so if you got a hand-rolledtest.plin there, bestie, this is not the moment. π
π USAGE π
$ yath [YATH OPTIONS] init [COMMAND OPTIONS]
π YATH OPTIONS π
π§ Developer
--dev-lib,--dev-lib=lib,-D,-D=lib,-Dlib,--no-dev-libβ Adds paths to@INCbefore loading ANYTHING. This is what you use if you are developingyathoryathplugins to make sure theyathscript finds the local code instead of the installed versions of the same code. You can provide an argument (-Dfoo) to give a custom path, or you can just use-Dwithout an arg to 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 will fall back to the current directory. If the current directory is not writable it will default to/tmp/yath-persist.jsonwhich limits you to one persistent runner on your system.--project ARG,--project=ARG,--project-name ARG,--project-name=ARG,--no-projectβ This lets you provide a label for your current project/codebase. This is best used in a.yath.rcfile. This is necessary for 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 in order to bring in command-line options they may provide. This flag will disable that. This is useful if you have a naughty plugin that is loading other modules when it should not. π--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 π
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::Coverthis has very little performance impact (About 4% difference). π₯--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 new jsonl format), or a url to any of the previous. 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β File type for coverage source. Usually it can be detected, but when it cannot be you should 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β Coverage 'from' manager to use when coverage data does not 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 if even if the coverage file/url is invalid.--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 is 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 (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 from most recent stopping when a commit is found that is also present in the history of the branch/commit 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. This is useful if you want to inspect 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. This is 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 β
πΈ 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, no cap π
this was perl v5.40.1, dated 2026-05-10, and it's the App::Y...::init(3pm) page β you ate that, bestie, fr fr π«Άβ¨
π¦ 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