1App::Yath::Command::tesUts(e3r)Contributed Perl DocumentAaptpi:o:nYath::Command::test(3)
2
3
4
6 App::Yath::Command::test - Run tests
7
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
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
1072 The source code repository for Test2-Harness can be found at
1073 http://github.com/Test-More/Test2-Harness/.
1074
1076 Chad Granum <exodist@cpan.org>
1077
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)