1App::Yath::Command::staUrste(r3)Contributed Perl DocumenAtpapt:i:oYnath::Command::start(3)
2
3
4
6 App::Yath::Command::start - Start the persistent test runner
7
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
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
344 The source code repository for Test2-Harness can be found at
345 http://github.com/Test-More/Test2-Harness/.
346
348 Chad Granum <exodist@cpan.org>
349
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)