1App::Yath::Command::tesUts(e3r)Contributed Perl DocumentAaptpi:o:nYath::Command::test(3)
2
3
4

NAME

6       App::Yath::Command::test - Run tests
7

DESCRIPTION

9       This yath command (which is also the default command) will run all the
10       test files for the current project. If no test files are specified this
11       command will look for the 't', and 't2' directories, as well as the
12       'test.pl' file.
13
14       This command is always recursive when given directories.
15
16       This command will add 'lib', 'blib/arch' and 'blib/lib' to the perl
17       path for you by default (after any -I's). You can specify -l if you
18       just want lib, -b if you just want the blib paths. If you specify both
19       -l and -b both will be added in the order you specify (order relative
20       to any -I options will also be preserved.  If you do not specify they
21       will be added in this order: -I's, lib, blib/lib, blib/arch. You can
22       also add --no-lib and --no-blib to avoid both.
23
24       Any command line argument that is not an option will be treated as a
25       test file or directory of test files to be run.
26
27       If you wish to specify the ARGV for tests you may append them after
28       '::'. This is mainly useful for Test::Class::Moose and similar tools.
29       EVERY test run will get the same ARGV.
30

USAGE

32           $ yath [YATH OPTIONS] test [COMMAND OPTIONS]
33
34   YATH OPTIONS
35       Developer
36
37       --dev-lib
38       --dev-lib=lib
39       -D
40       -D=lib
41       -Dlib
42       --no-dev-lib
43           Add paths to @INC before loading ANYTHING. This is what you use if
44           you are developing yath or yath plugins to make sure the yath
45           script finds the local code instead of the installed versions of
46           the same code. You can provide an argument (-Dfoo) to provide a
47           custom path, or you can just use -D without and arg to add lib,
48           blib/lib and blib/arch.
49
50           Can be specified multiple times
51
52       Environment
53
54       --persist-dir ARG
55       --persist-dir=ARG
56       --no-persist-dir
57           Where to find persistence files.
58
59       --persist-file ARG
60       --persist-file=ARG
61       --pfile ARG
62       --pfile=ARG
63       --no-persist-file
64           Where to find the persistence file. The default is
65           /{system-tempdir}/project-yath-persist.json. If no project is
66           specified then it will fall back to the current directory. If the
67           current directory is not writable it will default to
68           /tmp/yath-persist.json which limits you to one persistent runner on
69           your system.
70
71       --project ARG
72       --project=ARG
73       --project-name ARG
74       --project-name=ARG
75       --no-project
76           This lets you provide a label for your current project/codebase.
77           This is best used in a .yath.rc file. This is necessary for a
78           persistent runner.
79
80       Finder Options
81
82       --finder MyFinder
83       --finder +Test2::Harness::Finder::MyFinder
84       --no-finder
85           Specify what Finder subclass to use when searching for
86           files/processing the file list. Use the "+" prefix to specify a
87           fully qualified namespace, otherwise Test2::Harness::Finder::XXX
88           namespace is assumed.
89
90       Help and Debugging
91
92       --show-opts
93       --no-show-opts
94           Exit after showing what yath thinks your options mean
95
96       --version
97       -V
98       --no-version
99           Exit after showing a helpful usage message
100
101       Plugins
102
103       --no-scan-plugins
104       --no-no-scan-plugins
105           Normally yath scans for and loads all App::Yath::Plugin::* modules
106           in order to bring in command-line options they may provide. This
107           flag will disable that. This is useful if you have a naughty plugin
108           that it loading other modules when it should not.
109
110       --plugins PLUGIN
111       --plugins +App::Yath::Plugin::PLUGIN
112       --plugins PLUGIN=arg1,arg2,...
113       --plugin PLUGIN
114       --plugin +App::Yath::Plugin::PLUGIN
115       --plugin PLUGIN=arg1,arg2,...
116       -pPLUGIN
117       --no-plugins
118           Load a yath plugin.
119
120           Can be specified multiple times
121
122   COMMAND OPTIONS
123       Cover Options
124
125       --cover-aggregator ByTest
126       --cover-aggregator ByRun
127       --cover-aggregator +Custom::Aggregator
128       --cover-agg ByTest
129       --cover-agg ByRun
130       --cover-agg +Custom::Aggregator
131       --no-cover-aggregator
132           Choose a custom aggregator subclass
133
134       --cover-class ARG
135       --cover-class=ARG
136       --no-cover-class
137           Choose a Test2::Plugin::Cover subclass
138
139       --cover-dirs ARG
140       --cover-dirs=ARG
141       --cover-dir ARG
142       --cover-dir=ARG
143       --no-cover-dirs
144           NO DESCRIPTION - FIX ME
145
146           Can be specified multiple times
147
148       --cover-exclude-private
149       --no-cover-exclude-private
150       --cover-files
151       --no-cover-files
152           Use Test2::Plugin::Cover to collect coverage data for what files
153           are touched by what tests. Unlike Devel::Cover this has very little
154           performance impact (About 4% difference)
155
156       --cover-from path/to/log.jsonl
157       --cover-from http://example.com/coverage
158       --cover-from path/to/coverage.jsonl
159       --no-cover-from
160           This can be a test log, a coverage dump (old style json or new
161           jsonl format), or a url to any of the previous. Tests will not be
162           run if the file/url is invalid.
163
164       --cover-from-type json
165       --cover-from-type jsonl
166       --cover-from-type log
167       --no-cover-from-type
168           File type for coverage source. Usually it can be detected, but when
169           it cannot be you should specify. "json" is old style single-blob
170           coverage data, "jsonl" is the new by-test style, "log" is a logfile
171           from a previous run.
172
173       --cover-manager My::Coverage::Manager
174       --no-cover-manager
175           Coverage 'from' manager to use when coverage data does not provide
176           one
177
178       --cover-maybe-from path/to/log.jsonl
179       --cover-maybe-from http://example.com/coverage
180       --cover-maybe-from path/to/coverage.jsonl
181       --no-cover-maybe-from
182           This can be a test log, a coverage dump (old style json or new
183           jsonl format), or a url to any of the previous. Tests will coninue
184           if even if the coverage file/url is invalid.
185
186       --cover-maybe-from-type json
187       --cover-maybe-from-type jsonl
188       --cover-maybe-from-type log
189       --no-cover-maybe-from-type
190           Same as "from_type" but for "maybe_from". Defaults to "from_type"
191           if that is specified, otherwise auto-detect
192
193       --cover-metrics
194       --no-cover-metrics
195       --cover-types ARG
196       --cover-types=ARG
197       --cover-type ARG
198       --cover-type=ARG
199       --no-cover-types
200           NO DESCRIPTION - FIX ME
201
202           Can be specified multiple times
203
204       --cover-write
205       --cover-write=coverage.jsonl
206       --cover-write=coverage.json
207       --no-cover-write
208           Create a json or jsonl file of all coverage data seen during the
209           run (This implies --cover-files).
210
211       Display Options
212
213       --color
214       --no-color
215           Turn color on, default is true if STDOUT is a TTY.
216
217       --no-wrap
218       --no-no-wrap
219           Do not do fancy text-wrapping, let the terminal handle it
220
221       --progress
222       --no-progress
223           Toggle progress indicators. On by default if STDOUT is a TTY. You
224           can use --no-progress to disable the 'events seen' counter and
225           buffered event pre-display
226
227       --quiet
228       -q
229       --no-quiet
230           Be very quiet.
231
232           Can be specified multiple times
233
234       --renderers +My::Renderer
235       --renderers Renderer=arg1,arg2,...
236       --renderer +My::Renderer
237       --renderer Renderer=arg1,arg2,...
238       --no-renderers
239           Specify renderers, (Default: "Formatter=Test2"). Use "+" to give a
240           fully qualified module name. Without "+"
241           "Test2::Harness::Renderer::" will be prepended to your argument.
242
243           Can be specified multiple times. If the same key is listed multiple
244           times the value lists will be appended together.
245
246       --show-times
247       -T
248       --no-show-times
249           Show the timing data for each job
250
251       --term-width 80
252       --term-width 200
253       --term-size 80
254       --term-size 200
255       --no-term-width
256           Alternative to setting $TABLE_TERM_SIZE. Setting this will override
257           the terminal width detection to the number of characters specified.
258
259       --verbose
260       -v
261       --no-verbose
262           Be more verbose
263
264           Can be specified multiple times
265
266       Finder Options
267
268       --changed path/to/file
269       --no-changed
270           Specify one or more files as having been changed.
271
272           Can be specified multiple times
273
274       --changed-only
275       --no-changed-only
276           Only search for tests for changed files (Requires a coverage data
277           source, also requires a list of changes either from the --changed
278           option, or a plugin that implements changed_files() or
279           changed_diff())
280
281       --changes-diff path/to/diff.diff
282       --no-changes-diff
283           Path to a diff file that should be used to find changed files for
284           use with --changed-only. This must be in the same format as `git
285           diff -W --minimal -U1000000`
286
287       --changes-filter-file path/to/file
288       --no-changes-filter-file
289           Specify one or more files to check for changes. Changes to other
290           files will be ignored
291
292           Can be specified multiple times
293
294       --changes-filter-pattern '(apple|pear|orange)'
295       --no-changes-filter-pattern
296           Specify a pattern for change checking. When only running tests for
297           changed files this will limit which files are checked for changes.
298           Only files that match this pattern will be checked. Your pattern
299           will be inserted unmodified into a `$file =~ m/$pattern/` check.
300
301           Can be specified multiple times
302
303       --changes-plugin Git
304       --changes-plugin +App::Yath::Plugin::Git
305       --no-changes-plugin
306           What plugin should be used to detect changed files.
307
308       --default-at-search ARG
309       --default-at-search=ARG
310       --no-default-at-search
311           Specify the default file/dir search when 'AUTHOR_TESTING' is set.
312           Defaults to './xt'. The default AT search is only used if no files
313           were specified at the command line
314
315           Can be specified multiple times
316
317       --default-search ARG
318       --default-search=ARG
319       --no-default-search
320           Specify the default file/dir search. defaults to './t', './t2', and
321           'test.pl'. The default search is only used if no files were
322           specified at the command line
323
324           Can be specified multiple times
325
326       --durations file.json
327       --durations http://example.com/durations.json
328       --no-durations
329           Point at a json file or url which has a hash of relative test
330           filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
331           will override durations listed in the file headers. An exception
332           will be thrown if the durations file or url does not work.
333
334       --exclude-file t/nope.t
335       --no-exclude-file
336           Exclude a file from testing
337
338           Can be specified multiple times
339
340       --exclude-list file.txt
341       --exclude-list http://example.com/exclusions.txt
342       --no-exclude-list
343           Point at a file or url which has a new line separated list of test
344           file names to exclude from testing. Starting a line with a '#' will
345           comment it out (for compatibility with Test2::Aggregate list
346           files).
347
348           Can be specified multiple times
349
350       --exclude-pattern t/nope.t
351       --no-exclude-pattern
352           Exclude a pattern from testing, matched using m/$PATTERN/
353
354           Can be specified multiple times
355
356       --extension ARG
357       --extension=ARG
358       --ext ARG
359       --ext=ARG
360       --no-extension
361           Specify valid test filename extensions, default: t and t2
362
363           Can be specified multiple times
364
365       --maybe-durations file.json
366       --maybe-durations http://example.com/durations.json
367       --no-maybe-durations
368           Point at a json file or url which has a hash of relative test
369           filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
370           will override durations listed in the file headers. An exception
371           will be thrown if the durations file or url does not work.
372
373       --no-long
374       --no-no-long
375           Do not run tests that have their duration flag set to 'LONG'
376
377       --only-long
378       --no-only-long
379           Only run tests that have their duration flag set to 'LONG'
380
381       --search ARG
382       --search=ARG
383       --no-search
384           List of tests and test directories to use instead of the default
385           search paths. Typically these can simply be listed as command line
386           arguments without the --search prefix.
387
388           Can be specified multiple times
389
390       --show-changed-files
391       --no-show-changed-files
392           Print a list of changed files if any are found
393
394       Formatter Options
395
396       --formatter ARG
397       --formatter=ARG
398       --no-formatter
399           NO DESCRIPTION - FIX ME
400
401       --qvf
402       --no-qvf
403           [Q]uiet, but [V]erbose on [F]ailure. Hide all output from tests
404           when they pass, except to say they passed. If a test fails then ALL
405           output from the test is verbosely output.
406
407       --show-job-end
408       --no-show-job-end
409           Show output when a job ends. (Default: on)
410
411       --show-job-info
412       --no-show-job-info
413           Show the job configuration when a job starts. (Default: off, unless
414           -vv)
415
416       --show-job-launch
417       --no-show-job-launch
418           Show output for the start of a job. (Default: off unless -v)
419
420       --show-run-info
421       --no-show-run-info
422           Show the run configuration when a run starts. (Default: off, unless
423           -vv)
424
425       Git Options
426
427       --git-change-base master
428       --git-change-base HEAD^
429       --git-change-base df22abe4
430       --no-git-change-base
431           Find files changed by all commits in the current branch from most
432           recent stopping when a commit is found that is also present in the
433           history of the branch/commit specified as the change base.
434
435       Help and Debugging
436
437       --dummy
438       -d
439       --no-dummy
440           Dummy run, do not actually execute anything
441
442           Can also be set with the following environment variables:
443           "T2_HARNESS_DUMMY"
444
445       --help
446       -h
447       --no-help
448           exit after showing help information
449
450       --interactive
451       -i
452       --no-interactive
453           Use interactive mode, 1 test at a time, stdin forwarded to it
454
455       --keep-dirs
456       --keep_dir
457       -k
458       --no-keep-dirs
459           Do not delete directories when done. This is useful if you want to
460           inspect the directories used for various commands.
461
462       --summary
463       --summary=/path/to/summary.json
464       --no-summary
465           Write out a summary json file, if no path is provided
466           'summary.json' will be used. The .json extension is added
467           automatically if omitted.
468
469       Logging Options
470
471       --bzip2
472       --bz2
473       --bzip2_log
474       -B
475       --no-bzip2
476           Use bzip2 compression when writing the log. This option implies -L.
477           The .bz2 prefix is added to log file name for you
478
479       --gzip
480       --gz
481       --gzip_log
482       -G
483       --no-gzip
484           Use gzip compression when writing the log. This option implies -L.
485           The .gz prefix is added to log file name for you
486
487       --log
488       -L
489       --no-log
490           Turn on logging
491
492       --log-dir ARG
493       --log-dir=ARG
494       --no-log-dir
495           Specify a log directory. Will fall back to the system temp dir.
496
497       --log-file ARG
498       --log-file=ARG
499       -F ARG
500       -F=ARG
501       --no-log-file
502           Specify the name of the log file. This option implies -L.
503
504       --log-file-format ARG
505       --log-file-format=ARG
506       --lff ARG
507       --lff=ARG
508       --no-log-file-format
509           Specify the format for automatically-generated log files.
510           Overridden by --log-file, if given. This option implies -L
511           (Default: \$YATH_LOG_FILE_FORMAT, if that is set, or else
512           "%!P%Y-%m-%d~%H:%M:%S~%!U~%!p.jsonl"). This is a string in which
513           percent-escape sequences will be replaced as per POSIX::strftime.
514           The following special escape sequences are also replaced: (%!P :
515           Project name followed by a ~, if a project is defined, otherwise
516           empty string) (%!U : the unique test run ID) (%!p : the process ID)
517           (%!S : the number of seconds since local midnight UTC)
518
519           Can also be set with the following environment variables:
520           "YATH_LOG_FILE_FORMAT", "TEST2_HARNESS_LOG_FORMAT"
521
522       Notification Options
523
524       --notify-email foo@example.com
525       --no-notify-email
526           Email the test results to the specified email address(es)
527
528           Can be specified multiple times
529
530       --notify-email-fail foo@example.com
531       --no-notify-email-fail
532           Email failing results to the specified email address(es)
533
534           Can be specified multiple times
535
536       --notify-email-from foo@example.com
537       --no-notify-email-from
538           If any email is sent, this is who it will be from
539
540       --notify-email-owner
541       --no-notify-email-owner
542           Email the owner of broken tests files upon failure. Add `# HARNESS-
543           META-OWNER foo@example.com` to the top of a test file to give it an
544           owner
545
546       --notify-no-batch-email
547       --no-notify-no-batch-email
548           Usually owner failures are sent as a single batch at the end of
549           testing. Toggle this to send failures as they happen.
550
551       --notify-no-batch-slack
552       --no-notify-no-batch-slack
553           Usually owner failures are sent as a single batch at the end of
554           testing. Toggle this to send failures as they happen.
555
556       --notify-slack '#foo'
557       --notify-slack '@bar'
558       --no-notify-slack
559           Send results to a slack channel and/or user
560
561           Can be specified multiple times
562
563       --notify-slack-fail '#foo'
564       --notify-slack-fail '@bar'
565       --no-notify-slack-fail
566           Send failing results to a slack channel and/or user
567
568           Can be specified multiple times
569
570       --notify-slack-owner
571       --no-notify-slack-owner
572           Send slack notifications to the slack channels/users listed in test
573           meta-data when tests fail.
574
575       --notify-slack-url https://hooks.slack.com/...
576       --no-notify-slack-url
577           Specify an API endpoint for slack webhook integrations
578
579       --notify-text ARG
580       --notify-text=ARG
581       --message ARG
582       --message=ARG
583       --msg ARG
584       --msg=ARG
585       --no-notify-text
586           Add a custom text snippet to email/slack notifications
587
588       --notify-text-module ARG
589       --notify-text-module=ARG
590       --message_module ARG
591       --message_module=ARG
592       --no-notify-text-module
593           Use the specified module to generate messages for emails and/or
594           slack.
595
596       Run Options
597
598       --author-testing
599       -A
600       --no-author-testing
601           This will set the AUTHOR_TESTING environment to true
602
603       --dbi-profiling
604       --no-dbi-profiling
605           Use Test2::Plugin::DBIProfile to collect database profiling data
606
607       --env-var VAR=VAL
608       -EVAR=VAL
609       -E VAR=VAL
610       --no-env-var
611           Set environment variables to set when each test is run.
612
613           Can be specified multiple times
614
615       --event-uuids
616       --uuids
617       --no-event-uuids
618           Use Test2::Plugin::UUID inside tests (default: on)
619
620       --fields name:details
621       --fields JSON_STRING
622       -f name:details
623       -f JSON_STRING
624       --no-fields
625           Add custom data to the harness run
626
627           Can be specified multiple times
628
629       --input ARG
630       --input=ARG
631       --no-input
632           Input string to be used as standard input for ALL tests. See also:
633           --input-file
634
635       --input-file ARG
636       --input-file=ARG
637       --no-input-file
638           Use the specified file as standard input to ALL tests
639
640       --io-events
641       --no-io-events
642           Use Test2::Plugin::IOEvents inside tests to turn all prints into
643           test2 events (default: off)
644
645       --link 'https://travis.work/builds/42'
646       --link 'https://jenkins.work/job/42'
647       --link 'https://buildbot.work/builders/foo/builds/42'
648       --no-link
649           Provide one or more links people can follow to see more about this
650           run.
651
652           Can be specified multiple times
653
654       --load ARG
655       --load=ARG
656       --load-module ARG
657       --load-module=ARG
658       -m ARG
659       -m=ARG
660       --no-load
661           Load a module in each test (after fork). The "import" method is not
662           called.
663
664           Can be specified multiple times
665
666       --load-import Module
667       --load-import Module=import_arg1,arg2,...
668       --loadim Module
669       --loadim Module=import_arg1,arg2,...
670       -M Module
671       -M Module=import_arg1,arg2,...
672       --no-load-import
673           Load a module in each test (after fork). Import is called.
674
675           Can be specified multiple times. If the same key is listed multiple
676           times the value lists will be appended together.
677
678       --mem-usage
679       --no-mem-usage
680           Use Test2::Plugin::MemUsage inside tests (default: on)
681
682       --retry ARG
683       --retry=ARG
684       -r ARG
685       -r=ARG
686       --no-retry
687           Run any jobs that failed a second time. NOTE: --retry=1 means
688           failing tests will be attempted twice!
689
690       --retry-isolated
691       --retry-iso
692       --no-retry-isolated
693           If true then any job retries will be done in isolation (as though
694           -j1 was set)
695
696       --run-id
697       --id
698       --no-run-id
699           Set a specific run-id. (Default: a UUID)
700
701       --test-args ARG
702       --test-args=ARG
703       --no-test-args
704           Arguments to pass in as @ARGV for all tests that are run. These can
705           be provided easier using the '::' argument separator.
706
707           Can be specified multiple times
708
709       --stream
710       --no-stream
711           Use the stream formatter (default is on)
712
713       --tap
714       --TAP
715       ----no-stream
716       --no-tap
717           The TAP format is lossy and clunky. Test2::Harness normally uses a
718           newer streaming format to receive test results. There are
719           old/legacy tests where this causes problems, in which case setting
720           --TAP or --no-stream can help.
721
722       Runner Options
723
724       --abort-on-bail
725       --no-abort-on-bail
726           Abort all testing if a bail-out is encountered (default: on)
727
728       --blib
729       -b
730       --no-blib
731           (Default: include if it exists) Include 'blib/lib' and 'blib/arch'
732           in your module path
733
734       --cover
735       --cover=-silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl
736       --no-cover
737           Use Devel::Cover to calculate test coverage. This disables forking.
738           If no args are specified the following are used:
739           -silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl
740
741       --dump-depmap
742       --no-dump-depmap
743           When using staged preload, dump the depmap for each stage as json
744           files
745
746       --event-timeout SECONDS
747       --et SECONDS
748       --no-event-timeout
749           Kill test if no output is received within timeout period. (Default:
750           60 seconds). Add the "# HARNESS-NO-TIMEOUT" comment to the top of a
751           test file to disable timeouts on a per-test basis. This prevents a
752           hung test from running forever.
753
754       --include ARG
755       --include=ARG
756       -I ARG
757       -I=ARG
758       --no-include
759           Add a directory to your include paths
760
761           Can be specified multiple times
762
763       --job-count ARG
764       --job-count=ARG
765       --jobs ARG
766       --jobs=ARG
767       -j ARG
768       -j=ARG
769       --no-job-count
770           Set the number of concurrent jobs to run (Default: 1)
771
772           Can also be set with the following environment variables:
773           "YATH_JOB_COUNT", "T2_HARNESS_JOB_COUNT", "HARNESS_JOB_COUNT"
774
775       --lib
776       -l
777       --no-lib
778           (Default: include if it exists) Include 'lib' in your module path
779
780       --nytprof
781       --no-nytprof
782           Use Devel::NYTProf on tests. This will set addpid=1 for you. This
783           works with or without fork.
784
785       --post-exit-timeout SECONDS
786       --pet SECONDS
787       --no-post-exit-timeout
788           Stop waiting post-exit after the timeout period. (Default: 15
789           seconds) Some tests fork and allow the parent to exit before
790           writing all their output. If Test2::Harness detects an incomplete
791           plan after the test exits it will monitor for more events until the
792           timeout period. Add the "# HARNESS-NO-TIMEOUT" comment to the top
793           of a test file to disable timeouts on a per-test basis.
794
795       --preload-threshold ARG
796       --preload-threshold=ARG
797       --Pt ARG
798       --Pt=ARG
799       -W ARG
800       -W=ARG
801       --no-preload-threshold
802           Only do preload if at least N tests are going to be run. In some
803           cases a full preload takes longer than simply running the tests,
804           this lets you specify a minimum number of test jobs that will be
805           run for preload to happen. This has no effect for a persistent
806           runner. The default is 0, and it means always preload.
807
808       --preloads ARG
809       --preloads=ARG
810       --preload ARG
811       --preload=ARG
812       -P ARG
813       -P=ARG
814       --no-preloads
815           Preload a module before running tests
816
817           Can be specified multiple times
818
819       --resource Port
820       --resource +Test2::Harness::Runner::Resource::Port
821       -R Port
822       --no-resource
823           Use a resource module to assign resource assignments to individual
824           tests
825
826           Can be specified multiple times
827
828       --switch ARG
829       --switch=ARG
830       -S ARG
831       -S=ARG
832       --no-switch
833           Pass the specified switch to perl for each test. This is not
834           compatible with preload.
835
836           Can be specified multiple times
837
838       --tlib
839       --no-tlib
840           (Default: off) Include 't/lib' in your module path
841
842       --unsafe-inc
843       --no-unsafe-inc
844           perl is removing '.' from @INC as a security concern. This option
845           keeps things from breaking for now.
846
847           Can also be set with the following environment variables:
848           "PERL_USE_UNSAFE_INC"
849
850       --use-fork
851       --fork
852       --no-use-fork
853           (default: on, except on windows) Normally tests are run by forking,
854           which allows for features like preloading. This will turn off the
855           behavior globally (which is not compatible with preloading). This
856           is slower, it is better to tag misbehaving tests with the '#
857           HARNESS-NO-PRELOAD' comment in their header to disable forking only
858           for those tests.
859
860           Can also be set with the following environment variables:
861           "!T2_NO_FORK", "T2_HARNESS_FORK", "!T2_HARNESS_NO_FORK",
862           "YATH_FORK", "!YATH_NO_FORK"
863
864       --use-timeout
865       --timeout
866       --no-use-timeout
867           (default: on) Enable/disable timeouts
868
869       Workspace Options
870
871       --clear
872       -C
873       --no-clear
874           Clear the work directory if it is not already empty
875
876       --tmp-dir ARG
877       --tmp-dir=ARG
878       --tmpdir ARG
879       --tmpdir=ARG
880       -t ARG
881       -t=ARG
882       --no-tmp-dir
883           Use a specific temp directory (Default: use system temp dir)
884
885           Can also be set with the following environment variables:
886           "T2_HARNESS_TEMP_DIR", "YATH_TEMP_DIR", "TMPDIR", "TEMPDIR",
887           "TMP_DIR", "TEMP_DIR"
888
889       --workdir ARG
890       --workdir=ARG
891       -w ARG
892       -w=ARG
893       --no-workdir
894           Set the work directory (Default: new temp directory)
895
896           Can also be set with the following environment variables:
897           "T2_WORKDIR", "YATH_WORKDIR"
898
899       YathUI Options
900
901       --yathui-api-key ARG
902       --yathui-api-key=ARG
903       --no-yathui-api-key
904           Yath-UI API key. This is not necessary if your Yath-UI instance is
905           set to single-user
906
907       --yathui-coverage
908       --no-yathui-coverage
909           Poll coverage data from Yath-UI to determine what tests should be
910           run for changed files
911
912       --yathui-db
913       --no-yathui-db
914           Add the YathUI DB renderer in addition to other renderers
915
916       --yathui-durations
917       --no-yathui-durations
918           Poll duration data from Yath-UI to help order tests efficiently
919
920       --yathui-grace
921       --no-yathui-grace
922           If yath cannot connect to yath-ui it normally throws an error, use
923           this to make it fail gracefully. You get a warning, but things keep
924           going.
925
926       --yathui-long-duration 10
927       --no-yathui-long-duration
928           Minimum duration length (seconds) before a test goes from MEDIUM to
929           LONG
930
931       --yathui-medium-duration 5
932       --no-yathui-medium-duration
933           Minimum duration length (seconds) before a test goes from SHORT to
934           MEDIUM
935
936       --yathui-mode summary
937       --yathui-mode qvf
938       --yathui-mode qvfd
939       --yathui-mode complete
940       --no-yathui-mode
941           Set the upload mode (default 'qvfd')
942
943       --yathui-only
944       --no-yathui-only
945           Only use the YathUI renderer
946
947       --yathui-only-db
948       --no-yathui-only-db
949           Only use the YathUI DB renderer
950
951       --yathui-port 8080
952       --no-yathui-port
953           Port to use when running a local server
954
955       --yathui-port-command get_port.sh
956       --yathui-port-command get_port.sh --pid $$
957       --no-yathui-port-command
958           Use a command to get a port number. "$$" will be replaced with the
959           PID of the yath process
960
961       --yathui-project ARG
962       --yathui-project=ARG
963       --no-yathui-project
964           The Yath-UI project for your test results
965
966       --yathui-render
967       --no-yathui-render
968           Add the YathUI renderer in addition to other renderers
969
970       --yathui-retry
971       --no-yathui-retry
972           How many times to try an operation before giving up
973
974           Can be specified multiple times
975
976       --yathui-schema PostgreSQL
977       --yathui-schema MySQL
978       --yathui-schema MySQL56
979       --no-yathui-schema
980           What type of DB/schema to use when using a temporary database
981
982       --yathui-upload
983       --no-yathui-upload
984           Upload the log to Yath-UI
985
986       --yathui-url http://my-yath-ui.com/...
987       --uri http://my-yath-ui.com/...
988       --no-yathui-url
989           Yath-UI url
990
991       --yathui-user ARG
992       --yathui-user=ARG
993       --no-yathui-user
994           Username to attach to the data sent to the db
995
996       --yathui-db-buffering none
997       --yathui-db-buffering job
998       --yathui-db-buffering diag
999       --yathui-db-buffering run
1000       --no-yathui-db-buffering
1001           Type of buffering to use, if "none" then events are written to the
1002           db one at a time, which is SLOW
1003
1004       --yathui-db-config ARG
1005       --yathui-db-config=ARG
1006       --no-yathui-db-config
1007           Module that implements 'MODULE->yath_ui_config(%params)' which
1008           should return a Test2::Harness::UI::Config instance.
1009
1010       --yathui-db-coverage
1011       --no-yathui-db-coverage
1012           Pull coverage data directly from the database (default: off)
1013
1014       --yathui-db-driver Pg
1015       --yathui-db-drivermysql
1016       --yathui-db-driverMariaDB
1017       --no-yathui-db-driver
1018           DBI Driver to use
1019
1020       --yathui-db-dsn ARG
1021       --yathui-db-dsn=ARG
1022       --no-yathui-db-dsn
1023           DSN to use when connecting to the db
1024
1025       --yathui-db-durations
1026       --no-yathui-db-durations
1027           Pull duration data directly from the database (default: off)
1028
1029       --yathui-db-flush-interval 2
1030       --yathui-db-flush-interval 1.5
1031       --no-yathui-db-flush-interval
1032           When buffering DB writes, force a flush when an event is recieved
1033           at least N seconds after the last flush.
1034
1035       --yathui-db-host ARG
1036       --yathui-db-host=ARG
1037       --no-yathui-db-host
1038           hostname to use when connecting to the db
1039
1040       --yathui-db-name ARG
1041       --yathui-db-name=ARG
1042       --no-yathui-db-name
1043           Name of the database to use for yathui
1044
1045       --yathui-db-pass ARG
1046       --yathui-db-pass=ARG
1047       --no-yathui-db-pass
1048           Password to use when connecting to the db
1049
1050       --yathui-db-port ARG
1051       --yathui-db-port=ARG
1052       --no-yathui-db-port
1053           port to use when connecting to the db
1054
1055       --yathui-db-publisher ARG
1056       --yathui-db-publisher=ARG
1057       --no-yathui-db-publisher
1058           When using coverage or duration data, only use data uploaded by
1059           this user
1060
1061       --yathui-db-socket ARG
1062       --yathui-db-socket=ARG
1063       --no-yathui-db-socket
1064           socket to use when connecting to the db
1065
1066       --yathui-db-user ARG
1067       --yathui-db-user=ARG
1068       --no-yathui-db-user
1069           Username to use when connecting to the db
1070

SOURCE

1072       The source code repository for Test2-Harness can be found at
1073       http://github.com/Test-More/Test2-Harness/.
1074

MAINTAINERS

1076       Chad Granum <exodist@cpan.org>
1077

AUTHORS

1079       Chad Granum <exodist@cpan.org>
1080
1082       Copyright 2021 Chad Granum <exodist7@gmail.com>.
1083
1084       This program is free software; you can redistribute it and/or modify it
1085       under the same terms as Perl itself.
1086
1087       See http://dev.perl.org/licenses/
1088
1089
1090
1091perl v5.34.0                      2021-11-05       App::Yath::Command::test(3)
Impressum