App::Y...nd::ps(3pm)
๐ NAME ๐
App::Yath::Command::ps โ the process list for the runner ๐
(you'll also see this filed as App::Yath::ps(3pm) under User Contributed Perl Documentation, okay bestie, that's the same page, don't panic ๐ซถ)
๐ฆ DESCRIPTION ๐ฆ
List all running processes and runner stages. That's it, that's the whole personality. She shows you everything that's running and every runner stage, and honestly? Iconic. โจ
๐ธ USAGE ๐ธ
$ yath [YATH OPTIONS] ps [COMMAND OPTIONS]
okay so you run yath, throw your YATH OPTIONS at it, say ps, and then optionally hit it with COMMAND OPTIONS. Simple. Slay. ๐
โญ YATH OPTIONS โญ
๐ง Developer
--dev-lib,--dev-lib=lib,-D,-D=lib,-Dlib,--no-dev-libโ adds paths to@INCbefore loading ANYTHING. This is the one you reach for when you're developing yath or yath plugins and you need the yath script to find your local code instead of the installed versions of the same code. You can hand it an argument (-Dfoo) for a custom path, or you can just use-Dwithout and 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.json, which 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. Best used in a.yath.rcfile. This is necessary for a persistent runner, no cap. ๐
๐ฅ Finder Options
--finder MyFinder,--finder +Test2::Harness::Finder::MyFinder,--no-finderโ specify what Finder subclass to use when searching for files/processing the file list. Use the+prefix to specify a fully qualified namespace, otherwise theTest2::Harness::Finder::XXXnamespace is assumed. ๐ง
๐ 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 disables that. 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๐ญ (yes bestie, the manpage literally says that, I'm not making it up)
Can be specified multiple times.
--cover-exclude-private,--no-cover-exclude-privateโ (no description in the original, it just vibes there)--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.jsonis old style single-blob coverage data,jsonlis the new by-test style,logis 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 asfrom_typebut formaybe_from. Defaults tofrom_typeif that is specified, otherwise auto-detect.--cover-metrics,--no-cover-metricsโ (no description in the original, she's mysterious ๐ )--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). ๐
๐ Display Options
--color,--no-colorโ turn color on, default is true ifSTDOUTis a TTY.--hide-runner-output,--no-hide-runner-outputโ hide output from the runner, showing only test output. (See Alsotruncate_runner_output)--no-final-table,--no-no-final-tableโ when printing final results, don't use table-style display.--no-wrap,--no-no-wrapโ do not do fancy text-wrapping, let the terminal handle it.--progress,--no-progressโ toggle progress indicators. On by default ifSTDOUTis a TTY. You can use--no-progressto disable the 'events seen' counter and buffered event pre-display.--quiet,-q,--no-quietโ be very quiet. ๐คซ
Can be specified multiple times.
--renderers +My::Renderer,--renderers Renderer=arg1,arg2,...,--renderer +My::Renderer,--renderer Renderer=arg1,arg2,...,--no-renderersโ specify renderers, (Default:Formatter=Test2). Use+to give a fully qualified module name. Without+,Test2::Harness::Renderer::will be prepended to your argument.
Can be specified multiple times. If the same key is listed multiple times the value lists will be appended together.
--show-times,-T,--no-show-timesโ show the timing data for each job. โฑ๏ธ--term-width 80,--term-width 200,--term-size 80,--term-size 200,--no-term-widthโ alternative to setting$TABLE_TERM_SIZE. Setting this will override the terminal width detection to the number of characters specified.--truncate-runner-output,--no-truncate-runner-outputโ only show runner output that was generated after the current command. This is only useful with a persistent runner.--verbose,-v,--no-verboseโ be more verbose.
Can be specified multiple times.
๐ฆ Finder Options
--changed path/to/file,--no-changedโ specify one or more files as having been changed.
Can be specified multiple times.
--changed-only,--no-changed-onlyโ only search for tests for changed files (Requires a coverage data source, also requires a list of changes either from the--changedoption, or a plugin that implementschanged_files()orchanged_diff()).--changes-diff path/to/diff.diff,--no-changes-diffโ path to a diff file that should be used to find changed files for use with--changed-only. This must be in the same format asgit diff -W --minimal -U1000000.--changes-exclude-file path/to/file,--no-changes-exclude-fileโ specify one or more files to ignore when looking at changes.
Can be specified multiple times.
--changes-exclude-loads,--no-changes-exclude-loadsโ exclude coverage tests which only load changed files, but never call code from them. (default: off)--changes-exclude-nonsub,--no-changes-exclude-nonsubโ exclude changes outside of subroutines (perl files only) (default: off).--changes-exclude-opens,--no-changes-exclude-opensโ exclude coverage tests which onlyopen()changed files, but never call code from them. (default: off)--changes-exclude-pattern '(apple|pear|orange)',--no-changes-exclude-patternโ ignore files matching this pattern when looking for changes. Your pattern will be inserted unmodified into a$file =~ m/$pattern/check.
Can be specified multiple times.
--changes-filter-file path/to/file,--no-changes-filter-fileโ specify one or more files to check for changes. Changes to other files will be ignored.
Can be specified multiple times.
--changes-filter-pattern '(apple|pear|orange)',--no-changes-filter-patternโ specify a pattern for change checking. When only running tests for changed files this will limit which files are checked for changes. Only files that match this pattern will be checked. Your pattern will be inserted unmodified into a$file =~ m/$pattern/check.
Can be specified multiple times.
--changes-include-whitespace,--no-changes-include-whitespaceโ include changed lines that are whitespace only (default: off).--changes-plugin Git,--changes-plugin +App::Yath::Plugin::Git,--no-changes-pluginโ what plugin should be used to detect changed files.--default-at-search ARG,--default-at-search=ARG,--no-default-at-searchโ specify the default file/dir search when'AUTHOR_TESTING'is set. Defaults to'./xt'. The default AT search is only used if no files were specified at the command line.
Can be specified multiple times.
--default-search ARG,--default-search=ARG,--no-default-searchโ specify the default file/dir search. defaults to'./t','./t2', and'test.pl'. The default search is only used if no files were specified at the command line.
Can be specified multiple times.
--durations file.json,--durations http://example.com/durations.json,--no-durationsโ point at a json file or url which has a hash of relative test filenames as keys, and'SHORT','MEDIUM', or'LONG'as values. This will override durations listed in the file headers. An exception will be thrown if the durations file or url does not work. ๐
okay bestie I know, that was a LOT, and we're literally just getting started ๐ more is coming, don't go anywhere ๐ซถ
--durations-threshold ARG,--durations-threshold=ARG,--Dt ARG,--Dt=ARG,--no-durations-thresholdโ bestie, this one's a lil gatekeeper ๐ it only goes and fetches duration data if you're running at least this many tests. Default is(-j value + 1), no cap.--exclude-file t/nope.t,--no-exclude-fileโ yeet a specific file out of testing. Not testing it, bestie, we're โจexcludingโจ it.
Can be specified multiple times ๐ซถ
--exclude-list file.txt,--exclude-list http://example.com/exclusions.txt,--no-exclude-listโ point at a file or a url that holds a newline-separated list of test file names to exclude from testing. Start a line with a#and it gets commented out (that's for compatibility withTest2::Aggregatelist files, iykyk).
Can be specified multiple times ๐ซถ
--exclude-pattern t/nope.t,--no-exclude-patternโ exclude a pattern from testing, matched usingm/$PATTERN/.
Can be specified multiple times ๐ซถ
--extension ARG,--extension=ARG,--ext ARG,--ext=ARG,--no-extensionโ tell it which test filename extensions are valid. Default:tandt2. iconic ๐ธ
Can be specified multiple times ๐ซถ
--maybe-durations file.json,--maybe-durations http://example.com/durations.json,--no-maybe-durationsโ point at a json file or url that's got a hash of relative test filenames as keys and'SHORT','MEDIUM', or'LONG'as values. This will override the durations listed in the file headers. Heads up though โ an exception will be thrown if the durations file or url does not work ๐ญ no cap.--no-long,--no-no-longโ do not run tests that have their duration flag set to'LONG'. periodt.--only-long,--no-only-longโ only run tests that have their duration flag set to'LONG'. that's the whole vibe ๐ฅ--rerun,--rerun=path/to/log.jsonl,--rerun=plugin_specific_string,--no-rerunโ re-run tests from a previous run using a log file (or the last log file). Plugins can intercept this btw, likeYathUIDB, which will grab a run UUID and derive the tests to re-run from that. main character plugin energy ๐--rerun-all,--rerun-all=path/to/log.jsonl,--rerun-all=plugin_specific_string,--no-rerun-allโ re-run all tests from a previous run out of a log file (or the last log file). Same deal: plugins can intercept, likeYathUIDBgrabbing a run UUID and deriving the tests to re-run from that. ๐--rerun-failed,--rerun-failed=path/to/log.jsonl,--rerun-failed=plugin_specific_string,--no-rerun-failedโ re-run the tests that failed in a previous run, from a log file (or the last log file). Plugins can intercept this too, likeYathUIDBgrabbing a run UUID and deriving the tests to re-run from that. ๐ค--rerun-missed,--rerun-missed=path/to/log.jsonl,--rerun-missed=plugin_specific_string,--no-rerun-missedโ run the missed tests from a previously aborted/stopped run, out of a log file (or the last log file). And yes, plugins can intercept, likeYathUIDBgrabbing a run UUID and deriving the tests to re-run from that. ๐ฆ--rerun-modes failed,missed,...,--rerun-modes all,--rerun-modes failed,--rerun-modes missed,--rerun-modes passed,--rerun-modes retried,--rerun-mode failed,missed,...,--rerun-mode all,--rerun-mode failed,--rerun-mode missed,--rerun-mode passed,--rerun-mode retried,--no-rerun-modesโ pick which test categories you actually wanna run ๐
Can be specified multiple times ๐ซถ
--rerun-passed,--rerun-passed=path/to/log.jsonl,--rerun-passed=plugin_specific_string,--no-rerun-passedโ re-run the tests that passed last time, from a log file (or the last log file). Plugins can intercept, likeYathUIDBgrabbing a run UUID and deriving the tests to re-run from that. โจ--rerun-plugin Foo,--rerun-plugin +App::Yath::Plugin::Foo,--no-rerun-pluginโ which plugin(s) should be used for rerun. It'll fallback to other plugins if the listed ones decline the value โ this is just used to set an order of priority. ngl, "ot" is what the original says, and I'm not fixing it, I'm just reporting it ๐
Can be specified multiple times ๐ซถ
--rerun-retried,--rerun-retried=path/to/log.jsonl,--rerun-retried=plugin_specific_string,--no-rerun-retriedโ re-run the retried tests from a previous run, from a log file (or the last log file). Plugins can intercept, likeYathUIDBgrabbing a run UUID and deriving the tests to re-run from that. ๐--search ARG,--search=ARG,--no-searchโ a list of tests and test directories to use instead of the default search paths. Usually you can literally just list these as command line arguments without the--searchprefix, lowkey easier. ๐
Can be specified multiple times ๐ซถ
--show-changed-files,--no-show-changed-filesโ prints a list of changed files, if any are found. ~found~ ๐
Formatter Options
--formatter ARG,--formatter=ARG,--no-formatterโNO DESCRIPTION - FIX ME. yeah, that's literally what it says bestie, I'm not making lore up for it ๐ญ--qvf,--no-qvfโ [Q]uiet, but [V]erbose on [F]ailure. Hides all output from tests when they pass, except to say they passed. But if a test fails, then ALL output from that test gets verbosely output. slay, honestly ๐ฅ--show-job-end,--no-show-job-endโ show output when a job ends. (Default: on)--show-job-info,--no-show-job-infoโ show the job configuration when a job starts. (Default: off, unless-vv)--show-job-launch,--no-show-job-launchโ show output for the start of a job. (Default: off unless-v)--show-run-info,--no-show-run-infoโ show the run configuration when a run starts. (Default: off, unless-vv)
Git Options
--git-change-base master,--git-change-base HEAD^,--git-change-base df22abe4,--no-git-change-baseโ find the files changed by all commits in the current branch, going from 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. cute little archaeology ๐ง
Help and Debugging
--dummy,-d,--no-dummyโ dummy run, do not actually execute anything. it's giving rehearsal, not the show ๐
Can also be set with the following environment variables: T2_HARNESS_DUMMY
--help,-h,--no-helpโ exit after showing help information. bye bestie ๐--interactive,-i,--no-interactiveโ use interactive mode, one test at a time, with stdin forwarded to it. so intimate, so involved ๐ซถ--keep-dirs,--keep_dir,-k,--no-keep-dirsโ do not delete directories when done. super useful if you wanna go 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). iykyk ๐--summary,--summary=/path/to/summary.json,--no-summaryโ write out a summary json file. If no path is given,summary.jsongets used. The.jsonextension is added automatically if you omitted it. โจ
Logging Options
--bzip2,--bz2,--bzip2_log,-B,--no-bzip2โ use bzip2 compression when writing the log. This option implies-L. The.bz2prefix is added to the log file name for you. yes, the manpage says "prefix", I'm just the messenger ๐ญ--gzip,--gz,--gzip_log,-G,--no-gzipโ use gzip compression when writing the log. This option implies-L. The.gzprefix is added to the log file name for you. same energy, different algorithm ๐--log,-L,--no-logโ turn on logging. that's it. that's the tweet. ๐ฅ--log-dir ARG,--log-dir=ARG,--no-log-dirโ specify a log directory. If that doesn't work out it'll fall back to the system temp dir ๐ฆ--log-file ARG,--log-file=ARG,-F ARG,-F=ARG,--no-log-fileโ specify the name of the log file. This option implies-L.--log-file-format ARG,--log-file-format=ARG,--lff ARG,--lff=ARG,--no-log-file-formatโ specify the format for automatically-generated log files. It gets overridden by--log-file, if that one's given. This option implies-L. (Default:$YATH_LOG_FILE_FORMAT, if that is set, or else"%!P%Y-%m-%d~%H:%M:%S~%!U~%!p.jsonl"). This is a string in which percent-escape sequences will be replaced as perPOSIX::strftime. These special escape sequences also get replaced:- (
%!P: Project name followed by a~, if a project is defined, otherwise empty string) - (
%!U: the unique test run ID) - (
%!p: the process ID) - (
%!S: the number of seconds since local midnight UTC)
- (
Can also be set with the following environment variables: YATH_LOG_FILE_FORMAT, TEST2_HARNESS_LOG_FORMAT
Notification Options
--notify-email foo@example.com,--no-notify-emailโ email the test results to the specified email address(es) ๐
Can be specified multiple times ๐ซถ
--notify-email-fail foo@example.com,--no-notify-email-failโ email the failing results to the specified email address(es) ๐ญ
Can be specified multiple times ๐ซถ
--notify-email-from foo@example.com,--no-notify-email-fromโ if any email gets sent, this is who it'll be from. identity, but make it an email ๐--notify-email-owner,--no-notify-email-ownerโ email the owner of broken test files upon failure. Add# HARNESS-META-OWNER foo@example.comto the top of a test file to give it an owner. accountability era ๐--notify-no-batch-email,--no-notify-no-batch-emailโ usually owner failures are sent as a single batch at the end of testing. Toggle this to send failures as they happen instead. instant, no waiting ๐ธ--notify-no-batch-slack,--no-notify-no-batch-slackโ usually owner failures are sent as a single batch at the end of testing. Toggle this to send failures as they happen instead. same deal but for slack ๐--notify-slack '#foo',--notify-slack '@bar',--no-notify-slackโ send results to a slack channel and/or user. pick your fave ๐ฌ
Can be specified multiple times ๐ซถ
--notify-slack-fail '#foo',--notify-slack-fail '@bar',--no-notify-slack-failโ send the failing results to a slack channel and/or user ๐ค
Can be specified multiple times ๐ซถ
--notify-slack-owner,--no-notify-slack-ownerโ send slack notifications to the slack channels/users listed in test meta-data when tests fail. meta-data knows who to ping ๐ฆ--notify-slack-url https://hooks.slack.com/...,--no-notify-slack-urlโ specify an API endpoint for slack webhook integrations. plug it in ๐--notify-text ARG,--notify-text=ARG,--message ARG,--message=ARG,--msg ARG,--msg=ARG,--no-notify-textโ add a custom text snippet to email/slack notifications. say something cute โจ--notify-text-module ARG,--notify-text-module=ARG,--message_module ARG,--message_module=ARG,--no-notify-text-moduleโ use the specified module to generate messages for emails and/or slack. let the module do the talking ๐ง
Run Options
--author-testing,-A,--no-author-testingโ this will set theAUTHOR_TESTINGenvironment variable to true. author mode: activated ๐--dbi-profiling,--no-dbi-profilingโ useTest2::Plugin::DBIProfileto collect database profiling data ๐--env-var VAR=VAL,-EVAR=VAL,-E VAR=VAL,--no-env-varโ set the environment variables to set when each test is run. per-test vibes only ๐
Can be specified multiple times ๐ซถ
--event-uuids,--uuids,--no-event-uuidsโ bestie, this dropsTest2::Plugin::UUIDinside your tests so every event gets its own lil ID ๐ (default: on)--fields name:details,--fields JSON_STRING,-f name:details,-f JSON_STRING,--no-fieldsโ shove your own custom data onto the harness run ๐ you can pass this as many times as you want, stack 'em up--input ARG,--input=ARG,--no-inputโ this string gets used as standard input for ALL the tests, like every single one. also peep--input-fileif you wanna be fancy ๐ธ--input-file ARG,--input-file=ARG,--no-input-fileโ point it at a file and that file becomes standard input for ALL tests, fr fr--io-events,--no-io-eventsโ turns onTest2::Plugin::IOEventsinside your tests so everyprintbecomes a test2 event โจ (default: off)--link 'https://travis.work/builds/42',--link 'https://jenkins.work/job/42',--link 'https://buildbot.work/builders/foo/builds/42',--no-linkโ hand the people one or more links they can follow to see more about this run ๐ stack as many as you like--load ARG,--load=ARG,--load-module ARG,--load-module=ARG,-m ARG,-m=ARG,--no-loadโ loads a module in each test (after fork). heads up tho: theimportmethod does not get called ๐ค can be given multiple times--load-import Module,--load-import Module=import_arg1,arg2,...,--loadim Module,--loadim Module=import_arg1,arg2,...,-M Module,-M Module=import_arg1,arg2,...,--no-load-importโ same deal, loads a module in each test (after fork), except this timeimportis called ๐
You can specify this multiple times, and if the same key shows up again the value lists just get appended together. no cap.
--mem-usage,--no-mem-usageโ fires upTest2::Plugin::MemUsageinside tests, keeping an eye on the memory vibes ๐ง (default: on)--retry ARG,--retry=ARG,-r ARG,-r=ARG,--no-retryโ reruns any jobs that failed, a second time. NOTE:--retry=1means failing tests get attempted twice! ๐--retry-isolated,--retry-iso,--no-retry-isolatedโ if true, any job retries happen in isolation (like as though-j1was set). just them, alone, in their lane ๐ฆ--run-id,--id,--no-run-idโ set a specific run-id. (Default: a UUID) โญ--test-args ARG,--test-args=ARG,--no-test-argsโ arguments passed in as@ARGVfor all tests that get run. easier way to do this: use the'::'argument separator ๐ซ
Can be given multiple times.
--stream,--no-streamโ use the stream formatter (default is on) ๐--tap,--TAP,----no-stream,--no-tapโ okay so here's the tea: the TAP format is lossy and clunky ๐ญTest2::Harnessnormally uses a newer streaming format to receive test results. but there are old/legacy tests where this causes problems, and in that case setting--TAPor--no-streamcan help.
ngl that ----no-stream up there has four dashes and that is exactly how it's written. not me typoing, it's literally in the docs ๐
๐ YathUI Options ๐
--yathui-api-key ARG,--yathui-api-key=ARG,--no-yathui-api-keyโ Yath-UI API key. you don't need this if your Yath-UI instance is set to single-user ๐--yathui-coverage,--no-yathui-coverageโ polls coverage data from Yath-UI to figure out which tests should run for changed files ๐ต๏ธ--yathui-durations,--no-yathui-durationsโ polls duration data from Yath-UI so it can order your tests efficiently โฑ๏ธ--yathui-grace,--no-yathui-graceโ normally ifyathcan't connect to yath-ui it throws an error ๐ฑ use this to make it fail gracefully instead. you get a warning, but things keep going.--yathui-long-duration 10,--no-yathui-long-durationโ minimum duration length (in seconds) before a test goes from MEDIUM to LONG ๐--yathui-medium-duration 5,--no-yathui-medium-durationโ minimum duration length (in 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-upload,--no-yathui-uploadโ upload the log to Yath-UI โ๏ธ--yathui-url http://my-yath-ui.com/...,--uri http://my-yath-ui.com/...,--no-yathui-urlโ Yath-UI url ๐
๐จ NO CATEGORY - FIX ME ๐จ
--check-reload-state,--no-check-reload-stateโ aborts the run if there are unfixes reload errors, and shows you a confirmation dialogue for unfixed reload warnings โ ๏ธ
๐ฆ 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/ ๐
okay that's the whole page, we did it ๐ this one is App::Y...nd::ps(3pm) and it came out of the User Contributed Perl Documentation crew, running on perl v5.40.1 and dated 2026-05-10. that's a whole yath of options and you read every single one. iconic behavior, genuinely. now go run some tests and slay ๐
โจ๐ซถ
๐ฆ 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