1App::Yath::Command::staUrste(r3)Contributed Perl DocumenAtpapt:i:oYnath::Command::start(3)
2
3
4

NAME

6       App::Yath::Command::start - Start the persistent test runner
7

DESCRIPTION

9       This command is used to start a persistant instance of yath. A
10       persistant instance is useful because it allows you to preload modules
11       in advance, reducing start time for any tests you decide to run as you
12       work.
13
14       A running instance will watch for changes to any preloaded files, and
15       restart itself if anything changes. Changed files are blacklisted for
16       subsequent reloads so that reloading is not a frequent occurence when
17       editing the same file over and over again.
18

USAGE

20           $ yath [YATH OPTIONS] start [COMMAND OPTIONS]
21
22   YATH OPTIONS
23       Developer
24
25       --dev-lib
26       --dev-lib=lib
27       -D
28       -D=lib
29       -Dlib
30       --no-dev-lib
31           Add paths to @INC before loading ANYTHING. This is what you use if
32           you are developing yath or yath plugins to make sure the yath
33           script finds the local code instead of the installed versions of
34           the same code. You can provide an argument (-Dfoo) to provide a
35           custom path, or you can just use -D without and arg to add lib,
36           blib/lib and blib/arch.
37
38           Can be specified multiple times
39
40       Environment
41
42       --persist-dir ARG
43       --persist-dir=ARG
44       --no-persist-dir
45           Where to find persistence files.
46
47       --persist-file ARG
48       --persist-file=ARG
49       --pfile ARG
50       --pfile=ARG
51       --no-persist-file
52           Where to find the persistence file. The default is
53           /{system-tempdir}/project-yath-persist.json. If no project is
54           specified then it will fall back to the current directory. If the
55           current directory is not writable it will default to
56           /tmp/yath-persist.json which limits you to one persistent runner on
57           your system.
58
59       --project ARG
60       --project=ARG
61       --project-name ARG
62       --project-name=ARG
63       --no-project
64           This lets you provide a label for your current project/codebase.
65           This is best used in a .yath.rc file. This is necessary for a
66           persistent runner.
67
68       Help and Debugging
69
70       --show-opts
71       --no-show-opts
72           Exit after showing what yath thinks your options mean
73
74       --version
75       -V
76       --no-version
77           Exit after showing a helpful usage message
78
79       Plugins
80
81       --no-scan-plugins
82       --no-no-scan-plugins
83           Normally yath scans for and loads all App::Yath::Plugin::* modules
84           in order to bring in command-line options they may provide. This
85           flag will disable that. This is useful if you have a naughty plugin
86           that is loading other modules when it should not.
87
88       --plugins PLUGIN
89       --plugins +App::Yath::Plugin::PLUGIN
90       --plugins PLUGIN=arg1,arg2,...
91       --plugin PLUGIN
92       --plugin +App::Yath::Plugin::PLUGIN
93       --plugin PLUGIN=arg1,arg2,...
94       -pPLUGIN
95       --no-plugins
96           Load a yath plugin.
97
98           Can be specified multiple times
99
100   COMMAND OPTIONS
101       Collector Options
102
103       --max-open-jobs 18
104       --no-max-open-jobs
105           Maximum number of jobs a collector can process at a time, if more
106           jobs are pending their output will be delayed until the earlier
107           jobs have been processed. (Default: double the -j value)
108
109       --max-poll-events 1000
110       --no-max-poll-events
111           Maximum number of events to poll from a job before jumping to the
112           next job. (Default: 1000)
113
114       Cover Options
115
116       --cover-aggregator ByTest
117       --cover-aggregator ByRun
118       --cover-aggregator +Custom::Aggregator
119       --cover-agg ByTest
120       --cover-agg ByRun
121       --cover-agg +Custom::Aggregator
122       --no-cover-aggregator
123           Choose a custom aggregator subclass
124
125       --cover-class ARG
126       --cover-class=ARG
127       --no-cover-class
128           Choose a Test2::Plugin::Cover subclass
129
130       --cover-dirs ARG
131       --cover-dirs=ARG
132       --cover-dir ARG
133       --cover-dir=ARG
134       --no-cover-dirs
135           NO DESCRIPTION - FIX ME
136
137           Can be specified multiple times
138
139       --cover-exclude-private
140       --no-cover-exclude-private
141       --cover-files
142       --no-cover-files
143           Use Test2::Plugin::Cover to collect coverage data for what files
144           are touched by what tests. Unlike Devel::Cover this has very little
145           performance impact (About 4% difference)
146
147       --cover-from path/to/log.jsonl
148       --cover-from http://example.com/coverage
149       --cover-from path/to/coverage.jsonl
150       --no-cover-from
151           This can be a test log, a coverage dump (old style json or new
152           jsonl format), or a url to any of the previous. Tests will not be
153           run if the file/url is invalid.
154
155       --cover-from-type json
156       --cover-from-type jsonl
157       --cover-from-type log
158       --no-cover-from-type
159           File type for coverage source. Usually it can be detected, but when
160           it cannot be you should specify. "json" is old style single-blob
161           coverage data, "jsonl" is the new by-test style, "log" is a logfile
162           from a previous run.
163
164       --cover-manager My::Coverage::Manager
165       --no-cover-manager
166           Coverage 'from' manager to use when coverage data does not provide
167           one
168
169       --cover-maybe-from path/to/log.jsonl
170       --cover-maybe-from http://example.com/coverage
171       --cover-maybe-from path/to/coverage.jsonl
172       --no-cover-maybe-from
173           This can be a test log, a coverage dump (old style json or new
174           jsonl format), or a url to any of the previous. Tests will coninue
175           if even if the coverage file/url is invalid.
176
177       --cover-maybe-from-type json
178       --cover-maybe-from-type jsonl
179       --cover-maybe-from-type log
180       --no-cover-maybe-from-type
181           Same as "from_type" but for "maybe_from". Defaults to "from_type"
182           if that is specified, otherwise auto-detect
183
184       --cover-metrics
185       --no-cover-metrics
186       --cover-types ARG
187       --cover-types=ARG
188       --cover-type ARG
189       --cover-type=ARG
190       --no-cover-types
191           NO DESCRIPTION - FIX ME
192
193           Can be specified multiple times
194
195       --cover-write
196       --cover-write=coverage.jsonl
197       --cover-write=coverage.json
198       --no-cover-write
199           Create a json or jsonl file of all coverage data seen during the
200           run (This implies --cover-files).
201
202       Git Options
203
204       --git-change-base master
205       --git-change-base HEAD^
206       --git-change-base df22abe4
207       --no-git-change-base
208           Find files changed by all commits in the current branch from most
209           recent stopping when a commit is found that is also present in the
210           history of the branch/commit specified as the change base.
211
212       Help and Debugging
213
214       --dummy
215       -d
216       --no-dummy
217           Dummy run, do not actually execute anything
218
219           Can also be set with the following environment variables:
220           "T2_HARNESS_DUMMY"
221
222       --help
223       -h
224       --no-help
225           exit after showing help information
226
227       --interactive
228       -i
229       --no-interactive
230           Use interactive mode, 1 test at a time, stdin forwarded to it
231
232       --keep-dirs
233       --keep_dir
234       -k
235       --no-keep-dirs
236           Do not delete directories when done. This is useful if you want to
237           inspect the directories used for various commands.
238
239       --procname-prefix ARG
240       --procname-prefix=ARG
241       --no-procname-prefix
242           Add a prefix to all proc names (as seen by ps).
243
244       Persistent Runner Options
245
246       --quiet
247       -q
248       --no-quiet
249           Be very quiet.
250
251           Can be specified multiple times
252
253       --reload
254       -r
255       --no-reload
256           Attempt to reload modified modules in-place, restarting entire
257           stages only when necessary.
258
259       --restrict-reload
260       --restrict-reload=path
261       --no-restrict-reload
262           Only reload modules under the specified path, if no path is
263           specified look at anything under the .yath.rc path, or the current
264           working directory.
265
266           Can be specified multiple times
267
268       Runner Options
269
270       --abort-on-bail
271       --no-abort-on-bail
272           Abort all testing if a bail-out is encountered (default: on)
273
274       --blib
275       -b
276       --no-blib
277           (Default: include if it exists) Include 'blib/lib' and 'blib/arch'
278           in your module path
279
280       --cover
281       --cover=-silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl
282       --no-cover
283           Use Devel::Cover to calculate test coverage. This disables forking.
284           If no args are specified the following are used:
285           -silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl
286
287       --daemon
288       --no-daemon
289           Start the runner as a daemon (Default: True)
290
291       --dump-depmap
292       --no-dump-depmap
293           When using staged preload, dump the depmap for each stage as json
294           files
295
296       --event-timeout SECONDS
297       --et SECONDS
298       --no-event-timeout
299           Kill test if no output is received within timeout period. (Default:
300           60 seconds). Add the "# HARNESS-NO-TIMEOUT" comment to the top of a
301           test file to disable timeouts on a per-test basis. This prevents a
302           hung test from running forever.
303
304       --include ARG
305       --include=ARG
306       -I ARG
307       -I=ARG
308       --no-include
309           Add a directory to your include paths
310
311           Can be specified multiple times
312
313       --job-count ARG
314       --job-count=ARG
315       --jobs ARG
316       --jobs=ARG
317       -j ARG
318       -j=ARG
319       --no-job-count
320           Set the number of concurrent jobs to run
321
322           Can also be set with the following environment variables:
323           "YATH_JOB_COUNT", "T2_HARNESS_JOB_COUNT", "HARNESS_JOB_COUNT"
324
325       --lib
326       -l
327       --no-lib
328           (Default: include if it exists) Include 'lib' in your module path
329
330       --nytprof
331       --no-nytprof
332           Use Devel::NYTProf on tests. This will set addpid=1 for you. This
333           works with or without fork.
334
335       --post-exit-timeout SECONDS
336       --pet SECONDS
337       --no-post-exit-timeout
338           Stop waiting post-exit after the timeout period. (Default: 15
339           seconds) Some tests fork and allow the parent to exit before
340           writing all their output. If Test2::Harness detects an incomplete
341           plan after the test exits it will monitor for more events until the
342           timeout period. Add the "# HARNESS-NO-TIMEOUT" comment to the top
343           of a test file to disable timeouts on a per-test basis.
344
345       --preload-threshold ARG
346       --preload-threshold=ARG
347       --Pt ARG
348       --Pt=ARG
349       -W ARG
350       -W=ARG
351       --no-preload-threshold
352           Only do preload if at least N tests are going to be run. In some
353           cases a full preload takes longer than simply running the tests,
354           this lets you specify a minimum number of test jobs that will be
355           run for preload to happen. This has no effect for a persistent
356           runner. The default is 0, and it means always preload.
357
358       --preloads ARG
359       --preloads=ARG
360       --preload ARG
361       --preload=ARG
362       -P ARG
363       -P=ARG
364       --no-preloads
365           Preload a module before running tests
366
367           Can be specified multiple times
368
369       --resource Port
370       --resource +Test2::Harness::Runner::Resource::Port
371       -R Port
372       --no-resource
373           Use a resource module to assign resource assignments to individual
374           tests
375
376           Can be specified multiple times
377
378       --switch ARG
379       --switch=ARG
380       -S ARG
381       -S=ARG
382       --no-switch
383           Pass the specified switch to perl for each test. This is not
384           compatible with preload.
385
386           Can be specified multiple times
387
388       --tlib
389       --no-tlib
390           (Default: off) Include 't/lib' in your module path
391
392       --unsafe-inc
393       --no-unsafe-inc
394           perl is removing '.' from @INC as a security concern. This option
395           keeps things from breaking for now.
396
397           Can also be set with the following environment variables:
398           "PERL_USE_UNSAFE_INC"
399
400       --use-fork
401       --fork
402       --no-use-fork
403           (default: on, except on windows) Normally tests are run by forking,
404           which allows for features like preloading. This will turn off the
405           behavior globally (which is not compatible with preloading). This
406           is slower, it is better to tag misbehaving tests with the '#
407           HARNESS-NO-PRELOAD' comment in their header to disable forking only
408           for those tests.
409
410           Can also be set with the following environment variables:
411           "!T2_NO_FORK", "T2_HARNESS_FORK", "!T2_HARNESS_NO_FORK",
412           "YATH_FORK", "!YATH_NO_FORK"
413
414       --use-timeout
415       --timeout
416       --no-use-timeout
417           (default: on) Enable/disable timeouts
418
419       Workspace Options
420
421       --clear
422       -C
423       --no-clear
424           Clear the work directory if it is not already empty
425
426       --tmp-dir ARG
427       --tmp-dir=ARG
428       --tmpdir ARG
429       --tmpdir=ARG
430       -t ARG
431       -t=ARG
432       --no-tmp-dir
433           Use a specific temp directory (Default: use system temp dir)
434
435           Can also be set with the following environment variables:
436           "T2_HARNESS_TEMP_DIR", "YATH_TEMP_DIR", "TMPDIR", "TEMPDIR",
437           "TMP_DIR", "TEMP_DIR"
438
439       --workdir ARG
440       --workdir=ARG
441       -w ARG
442       -w=ARG
443       --no-workdir
444           Set the work directory (Default: new temp directory)
445
446           Can also be set with the following environment variables:
447           "T2_WORKDIR", "YATH_WORKDIR"
448
449       YathUI Options
450
451       --yathui-api-key ARG
452       --yathui-api-key=ARG
453       --no-yathui-api-key
454           Yath-UI API key. This is not necessary if your Yath-UI instance is
455           set to single-user
456
457       --yathui-db
458       --no-yathui-db
459           Add the YathUI DB renderer in addition to other renderers
460
461       --yathui-grace
462       --no-yathui-grace
463           If yath cannot connect to yath-ui it normally throws an error, use
464           this to make it fail gracefully. You get a warning, but things keep
465           going.
466
467       --yathui-long-duration 10
468       --no-yathui-long-duration
469           Minimum duration length (seconds) before a test goes from MEDIUM to
470           LONG
471
472       --yathui-medium-duration 5
473       --no-yathui-medium-duration
474           Minimum duration length (seconds) before a test goes from SHORT to
475           MEDIUM
476
477       --yathui-mode summary
478       --yathui-mode qvf
479       --yathui-mode qvfd
480       --yathui-mode complete
481       --no-yathui-mode
482           Set the upload mode (default 'qvfd')
483
484       --yathui-only
485       --no-yathui-only
486           Only use the YathUI renderer
487
488       --yathui-only-db
489       --no-yathui-only-db
490           Only use the YathUI DB renderer
491
492       --yathui-port 8080
493       --no-yathui-port
494           Port to use when running a local server
495
496       --yathui-port-command get_port.sh
497       --yathui-port-command get_port.sh --pid $$
498       --no-yathui-port-command
499           Use a command to get a port number. "$$" will be replaced with the
500           PID of the yath process
501
502       --yathui-project ARG
503       --yathui-project=ARG
504       --no-yathui-project
505           The Yath-UI project for your test results
506
507       --yathui-render
508       --no-yathui-render
509           Add the YathUI renderer in addition to other renderers
510
511       --yathui-retry
512       --no-yathui-retry
513           How many times to try an operation before giving up
514
515           Can be specified multiple times
516
517       --yathui-schema PostgreSQL
518       --yathui-schema MySQL
519       --yathui-schema MySQL56
520       --no-yathui-schema
521           What type of DB/schema to use when using a temporary database
522
523       --yathui-url http://my-yath-ui.com/...
524       --uri http://my-yath-ui.com/...
525       --no-yathui-url
526           Yath-UI url
527
528       --yathui-user ARG
529       --yathui-user=ARG
530       --no-yathui-user
531           Username to attach to the data sent to the db
532
533       --yathui-db-buffering none
534       --yathui-db-buffering job
535       --yathui-db-buffering diag
536       --yathui-db-buffering run
537       --no-yathui-db-buffering
538           Type of buffering to use, if "none" then events are written to the
539           db one at a time, which is SLOW
540
541       --yathui-db-config ARG
542       --yathui-db-config=ARG
543       --no-yathui-db-config
544           Module that implements 'MODULE->yath_ui_config(%params)' which
545           should return a Test2::Harness::UI::Config instance.
546
547       --yathui-db-coverage
548       --no-yathui-db-coverage
549           Pull coverage data directly from the database (default: off)
550
551       --yathui-db-driver Pg
552       --yathui-db-drivermysql
553       --yathui-db-driverMariaDB
554       --no-yathui-db-driver
555           DBI Driver to use
556
557       --yathui-db-dsn ARG
558       --yathui-db-dsn=ARG
559       --no-yathui-db-dsn
560           DSN to use when connecting to the db
561
562       --yathui-db-duration-limit ARG
563       --yathui-db-duration-limit=ARG
564       --no-yathui-db-duration-limit
565           Limit the number of runs to look at for durations data (default:
566           10)
567
568       --yathui-db-durations
569       --no-yathui-db-durations
570           Pull duration data directly from the database (default: off)
571
572       --yathui-db-flush-interval 2
573       --yathui-db-flush-interval 1.5
574       --no-yathui-db-flush-interval
575           When buffering DB writes, force a flush when an event is recieved
576           at least N seconds after the last flush.
577
578       --yathui-db-host ARG
579       --yathui-db-host=ARG
580       --no-yathui-db-host
581           hostname to use when connecting to the db
582
583       --yathui-db-name ARG
584       --yathui-db-name=ARG
585       --no-yathui-db-name
586           Name of the database to use for yathui
587
588       --yathui-db-pass ARG
589       --yathui-db-pass=ARG
590       --no-yathui-db-pass
591           Password to use when connecting to the db
592
593       --yathui-db-port ARG
594       --yathui-db-port=ARG
595       --no-yathui-db-port
596           port to use when connecting to the db
597
598       --yathui-db-publisher ARG
599       --yathui-db-publisher=ARG
600       --no-yathui-db-publisher
601           When using coverage or duration data, only use data uploaded by
602           this user
603
604       --yathui-db-socket ARG
605       --yathui-db-socket=ARG
606       --no-yathui-db-socket
607           socket to use when connecting to the db
608
609       --yathui-db-user ARG
610       --yathui-db-user=ARG
611       --no-yathui-db-user
612           Username to use when connecting to the db
613

SOURCE

615       The source code repository for Test2-Harness can be found at
616       http://github.com/Test-More/Test2-Harness/.
617

MAINTAINERS

619       Chad Granum <exodist@cpan.org>
620

AUTHORS

622       Chad Granum <exodist@cpan.org>
623
625       Copyright 2022 Chad Granum <exodist7@gmail.com>.
626
627       This program is free software; you can redistribute it and/or modify it
628       under the same terms as Perl itself.
629
630       See http://dev.perl.org/licenses/
631
632
633
634perl v5.36.0                      2022-09-08      App::Yath::Command::start(3)
Impressum