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

SOURCE

591       The source code repository for Test2-Harness can be found at
592       http://github.com/Test-More/Test2-Harness/.
593

MAINTAINERS

595       Chad Granum <exodist@cpan.org>
596

AUTHORS

598       Chad Granum <exodist@cpan.org>
599
601       Copyright 2021 Chad Granum <exodist7@gmail.com>.
602
603       This program is free software; you can redistribute it and/or modify it
604       under the same terms as Perl itself.
605
606       See http://dev.perl.org/licenses/
607
608
609
610perl v5.34.0                      2021-11-05      App::Yath::Command::start(3)
Impressum