1App::Yath::Command::proUjseecrtsC(o3n)tributed Perl DocuAmpepn:t:aYtaitohn::Command::projects(3)
2
3
4

NAME

6       App::Yath::Command::projects - Run tests for multiple projects
7

DESCRIPTION

9       This command will run all the tests for each project within a parent
10       directory.
11

USAGE

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

SOURCE

1153       The source code repository for Test2-Harness can be found at
1154       http://github.com/Test-More/Test2-Harness/.
1155

MAINTAINERS

1157       Chad Granum <exodist@cpan.org>
1158

AUTHORS

1160       Chad Granum <exodist@cpan.org>
1161
1163       Copyright 2023 Chad Granum <exodist7@gmail.com>.
1164
1165       This program is free software; you can redistribute it and/or modify it
1166       under the same terms as Perl itself.
1167
1168       See http://dev.perl.org/licenses/
1169
1170
1171
1172perl v5.38.0                      2023-10-04   App::Yath::Command::projects(3)
Impressum