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       Help and Debugging
102
103       --dummy
104       -d
105       --no-dummy
106           Dummy run, do not actually execute anything
107
108           Can also be set with the following environment variables:
109           "T2_HARNESS_DUMMY"
110
111       --help
112       -h
113       --no-help
114           exit after showing help information
115
116       --keep-dirs
117       --keep_dir
118       -k
119       --no-keep-dirs
120           Do not delete directories when done. This is useful if you want to
121           inspect the directories used for various commands.
122
123       Persistent Runner Options
124
125       --quiet
126       -q
127       --no-quiet
128           Be very quiet.
129
130           Can be specified multiple times
131
132       Runner Options
133
134       --blib
135       -b
136       --no-blib
137           (Default: include if it exists) Include 'blib/lib' and 'blib/arch'
138           in your module path
139
140       --cover
141       --cover=-silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl
142       --no-cover
143           Use Devel::Cover to calculate test coverage. This disables forking.
144           If no args are specified the following are used:
145           -silent,1,+ignore,^t/,+ignore,^t2/,+ignore,^xt,+ignore,^test.pl
146
147       --cover-files
148       --no-cover-files
149           Use Test2::Plugin::Cover to collect coverage data for what files
150           are touched by what tests. Unlike Devel::Cover this has very little
151           performance impact (About 4% difference)
152
153       --daemon
154       --no-daemon
155           Start the runner as a daemon (Default: True)
156
157       --event-timeout SECONDS
158       --et SECONDS
159       --no-event-timeout
160           Kill test if no output is received within timeout period. (Default:
161           60 seconds). Add the "# HARNESS-NO-TIMEOUT" comment to the top of a
162           test file to disable timeouts on a per-test basis. This prevents a
163           hung test from running forever.
164
165       --include ARG
166       --include=ARG
167       -I ARG
168       -I=ARG
169       --no-include
170           Add a directory to your include paths
171
172           Can be specified multiple times
173
174       --job-count ARG
175       --job-count=ARG
176       --jobs ARG
177       --jobs=ARG
178       -j ARG
179       -j=ARG
180       --no-job-count
181           Set the number of concurrent jobs to run (Default: 1)
182
183           Can also be set with the following environment variables:
184           "YATH_JOB_COUNT", "T2_HARNESS_JOB_COUNT", "HARNESS_JOB_COUNT"
185
186       --lib
187       -l
188       --no-lib
189           (Default: include if it exists) Include 'lib' in your module path
190
191       --post-exit-timeout SECONDS
192       --pet SECONDS
193       --no-post-exit-timeout
194           Stop waiting post-exit after the timeout period. (Default: 15
195           seconds) Some tests fork and allow the parent to exit before
196           writing all their output. If Test2::Harness detects an incomplete
197           plan after the test exits it will monitor for more events until the
198           timeout period. Add the "# HARNESS-NO-TIMEOUT" comment to the top
199           of a test file to disable timeouts on a per-test basis.
200
201       --preload-threshold ARG
202       --preload-threshold=ARG
203       --Pt ARG
204       --Pt=ARG
205       -W ARG
206       -W=ARG
207       --no-preload-threshold
208           Only do preload if at least N tests are going to be run. In some
209           cases a full preload takes longer than simply running the tests,
210           this lets you specify a minimum number of test jobs that will be
211           run for preload to happen. This has no effect for a persistent
212           runner. The default is 0, and it means always preload.
213
214       --preloads ARG
215       --preloads=ARG
216       --preload ARG
217       --preload=ARG
218       -P ARG
219       -P=ARG
220       --no-preloads
221           Preload a module before running tests
222
223           Can be specified multiple times
224
225       --switch ARG
226       --switch=ARG
227       -S ARG
228       -S=ARG
229       --no-switch
230           Pass the specified switch to perl for each test. This is not
231           compatible with preload.
232
233           Can be specified multiple times
234
235       --tlib
236       --no-tlib
237           (Default: off) Include 't/lib' in your module path
238
239       --unsafe-inc
240       --no-unsafe-inc
241           perl is removing '.' from @INC as a security concern. This option
242           keeps things from breaking for now.
243
244           Can also be set with the following environment variables:
245           "PERL_USE_UNSAFE_INC"
246
247       --use-fork
248       --fork
249       --no-use-fork
250           (default: on, except on windows) Normally tests are run by forking,
251           which allows for features like preloading. This will turn off the
252           behavior globally (which is not compatible with preloading). This
253           is slower, it is better to tag misbehaving tests with the '#
254           HARNESS-NO-PRELOAD' comment in their header to disable forking only
255           for those tests.
256
257           Can also be set with the following environment variables:
258           "!T2_NO_FORK", "T2_HARNESS_FORK", "!T2_HARNESS_NO_FORK",
259           "YATH_FORK", "!YATH_NO_FORK"
260
261       --use-timeout
262       --timeout
263       --no-use-timeout
264           (default: on) Enable/disable timeouts
265
266       Workspace Options
267
268       --clear
269       -C
270       --no-clear
271           Clear the work directory if it is not already empty
272
273       --tmp-dir ARG
274       --tmp-dir=ARG
275       --tmpdir ARG
276       --tmpdir=ARG
277       -t ARG
278       -t=ARG
279       --no-tmp-dir
280           Use a specific temp directory (Default: use system temp dir)
281
282           Can also be set with the following environment variables:
283           "T2_HARNESS_TEMP_DIR", "YATH_TEMP_DIR", "TMPDIR", "TEMPDIR",
284           "TMP_DIR", "TEMP_DIR"
285
286       --workdir ARG
287       --workdir=ARG
288       -w ARG
289       -w=ARG
290       --no-workdir
291           Set the work directory (Default: new temp directory)
292
293           Can also be set with the following environment variables:
294           "T2_WORKDIR", "YATH_WORKDIR"
295
296       YathUI Options
297
298       --yathui-api-key ARG
299       --yathui-api-key=ARG
300       --no-yathui-api-key
301           Yath-UI API key. This is not necessary if your Yath-UI instance is
302           set to single-user
303
304       --yathui-grace
305       --no-yathui-grace
306           If yath cannot connect to yath-ui it normally throws an error, use
307           this to make it fail gracefully. You get a warning, but things keep
308           going.
309
310       --yathui-long-duration 10
311       --no-yathui-long-duration
312           Minimum duration length (seconds) before a test goes from MEDIUM to
313           LONG
314
315       --yathui-medium-duration 5
316       --no-yathui-medium-duration
317           Minimum duration length (seconds) before a test goes from SHORT to
318           MEDIUM
319
320       --yathui-mode summary
321       --yathui-mode qvf
322       --yathui-mode qvfd
323       --yathui-mode complete
324       --no-yathui-mode
325           Set the upload mode (default 'qvfd')
326
327       --yathui-project ARG
328       --yathui-project=ARG
329       --no-yathui-project
330           The Yath-UI project for your test results
331
332       --yathui-retry
333       --no-yathui-retry
334           How many times to try an operation before giving up
335
336           Can be specified multiple times
337
338       --yathui-url http://my-yath-ui.com/...
339       --uri http://my-yath-ui.com/...
340       --no-yathui-url
341           Yath-UI url
342

SOURCE

344       The source code repository for Test2-Harness can be found at
345       http://github.com/Test-More/Test2-Harness/.
346

MAINTAINERS

348       Chad Granum <exodist@cpan.org>
349

AUTHORS

351       Chad Granum <exodist@cpan.org>
352
354       Copyright 2020 Chad Granum <exodist7@gmail.com>.
355
356       This program is free software; you can redistribute it and/or modify it
357       under the same terms as Perl itself.
358
359       See http://dev.perl.org/licenses/
360
361
362
363perl v5.32.0                      2020-07-28      App::Yath::Command::start(3)
Impressum