1App::Yath::Command::stoUps(e3r)Contributed Perl DocumentAaptpi:o:nYath::Command::stop(3)
2
3
4
6 App::Yath::Command::stop - Stop the persistent test runner
7
9 This command will stop a persistent instance, and output any log
10 contents.
11
13 $ yath [YATH OPTIONS] stop [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 it 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 Display Options
105
106 --color
107 --no-color
108 Turn color on, default is true if STDOUT is a TTY.
109
110 --no-wrap
111 --no-no-wrap
112 Do not do fancy text-wrapping, let the terminal handle it
113
114 --progress
115 --no-progress
116 Toggle progress indicators. On by default if STDOUT is a TTY. You
117 can use --no-progress to disable the 'events seen' counter and
118 buffered event pre-display
119
120 --quiet
121 -q
122 --no-quiet
123 Be very quiet.
124
125 Can be specified multiple times
126
127 --renderers +My::Renderer
128 --renderers Renderer=arg1,arg2,...
129 --renderer +My::Renderer
130 --renderer Renderer=arg1,arg2,...
131 --no-renderers
132 Specify renderers, (Default: "Formatter=Test2"). Use "+" to give a
133 fully qualified module name. Without "+"
134 "Test2::Harness::Renderer::" will be prepended to your argument.
135
136 Can be specified multiple times. If the same key is listed multiple
137 times the value lists will be appended together.
138
139 --show-times
140 -T
141 --no-show-times
142 Show the timing data for each job
143
144 --term-width 80
145 --term-width 200
146 --term-size 80
147 --term-size 200
148 --no-term-width
149 Alternative to setting $TABLE_TERM_SIZE. Setting this will override
150 the terminal width detection to the number of characters specified.
151
152 --verbose
153 -v
154 --no-verbose
155 Be more verbose
156
157 Can be specified multiple times
158
159 Finder Options
160
161 --changed path/to/file
162 --no-changed
163 Specify one or more files as having been changed.
164
165 Can be specified multiple times
166
167 --changed-only
168 --no-changed-only
169 Only search for tests for changed files (Requires --coverage-from,
170 also requires a list of changes either from the --changed option,
171 or a plugin that implements changed_files())
172
173 --changes-plugin Git
174 --changes-plugin +App::Yath::Plugin::Git
175 --no-changes-plugin
176 What plugin should be used to detect changed files.
177
178 --coverage-from path/to/log.jsonl
179 --coverage-from http://example.com/coverage
180 --coverage-from path/to/coverage.json
181 --no-coverage-from
182 Where to fetch coverage data. Can be a path to a .jsonl(.bz|.gz)?
183 log file. Can be a path or url to a json file containing a hash
184 where source files are key, and value is a list of tests to run.
185
186 --coverage-url-use-post
187 --no-coverage-url-use-post
188 If coverage_from is a url, use the http POST method with a list of
189 changed files. This allows the server to tell us what tests to run
190 instead of downloading all the coverage data and determining what
191 tests to run from that.
192
193 --default-at-search ARG
194 --default-at-search=ARG
195 --no-default-at-search
196 Specify the default file/dir search when 'AUTHOR_TESTING' is set.
197 Defaults to './xt'. The default AT search is only used if no files
198 were specified at the command line
199
200 Can be specified multiple times
201
202 --default-search ARG
203 --default-search=ARG
204 --no-default-search
205 Specify the default file/dir search. defaults to './t', './t2', and
206 'test.pl'. The default search is only used if no files were
207 specified at the command line
208
209 Can be specified multiple times
210
211 --durations file.json
212 --durations http://example.com/durations.json
213 --no-durations
214 Point at a json file or url which has a hash of relative test
215 filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
216 will override durations listed in the file headers. An exception
217 will be thrown if the durations file or url does not work.
218
219 --exclude-file t/nope.t
220 --no-exclude-file
221 Exclude a file from testing
222
223 Can be specified multiple times
224
225 --exclude-list file.txt
226 --exclude-list http://example.com/exclusions.txt
227 --no-exclude-list
228 Point at a file or url which has a new line separated list of test
229 file names to exclude from testing. Starting a line with a '#' will
230 comment it out (for compatibility with Test2::Aggregate list
231 files).
232
233 Can be specified multiple times
234
235 --exclude-pattern t/nope.t
236 --no-exclude-pattern
237 Exclude a pattern from testing, matched using m/$PATTERN/
238
239 Can be specified multiple times
240
241 --extension ARG
242 --extension=ARG
243 --ext ARG
244 --ext=ARG
245 --no-extension
246 Specify valid test filename extensions, default: t and t2
247
248 Can be specified multiple times
249
250 --maybe-coverage-from path/to/log.jsonl
251 --maybe-coverage-from http://example.com/coverage
252 --maybe-coverage-from path/to/coverage.json
253 --no-maybe-coverage-from
254 Where to fetch coverage data. Can be a path to a .jsonl(.bz|.gz)?
255 log file. Can be a path or url to a json file containing a hash
256 where source files are key, and value is a list of tests to run.
257
258 --maybe-durations file.json
259 --maybe-durations http://example.com/durations.json
260 --no-maybe-durations
261 Point at a json file or url which has a hash of relative test
262 filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
263 will override durations listed in the file headers. An exception
264 will be thrown if the durations file or url does not work.
265
266 --no-long
267 --no-no-long
268 Do not run tests that have their duration flag set to 'LONG'
269
270 --only-long
271 --no-only-long
272 Only run tests that have their duration flag set to 'LONG'
273
274 --search ARG
275 --search=ARG
276 --no-search
277 List of tests and test directories to use instead of the default
278 search paths. Typically these can simply be listed as command line
279 arguments without the --search prefix.
280
281 Can be specified multiple times
282
283 --show-changed-files
284 --no-show-changed-files
285 Print a list of changed files if any are found
286
287 Formatter Options
288
289 --formatter ARG
290 --formatter=ARG
291 --no-formatter
292 NO DESCRIPTION - FIX ME
293
294 --qvf
295 --no-qvf
296 [Q]uiet, but [V]erbose on [F]ailure. Hide all output from tests
297 when they pass, except to say they passed. If a test fails then ALL
298 output from the test is verbosely output.
299
300 --show-job-end
301 --no-show-job-end
302 Show output when a job ends. (Default: on)
303
304 --show-job-info
305 --no-show-job-info
306 Show the job configuration when a job starts. (Default: off, unless
307 -vv)
308
309 --show-job-launch
310 --no-show-job-launch
311 Show output for the start of a job. (Default: off unless -v)
312
313 --show-run-info
314 --no-show-run-info
315 Show the run configuration when a run starts. (Default: off, unless
316 -vv)
317
318 Git Options
319
320 --git-change-base master
321 --git-change-base HEAD^
322 --git-change-base df22abe4
323 --no-git-change-base
324 Find files changed by all commits in the current branch from most
325 recent stopping when a commit is found that is also present in the
326 history of the branch/commit specified as the change base.
327
328 Help and Debugging
329
330 --dummy
331 -d
332 --no-dummy
333 Dummy run, do not actually execute anything
334
335 Can also be set with the following environment variables:
336 "T2_HARNESS_DUMMY"
337
338 --help
339 -h
340 --no-help
341 exit after showing help information
342
343 --keep-dirs
344 --keep_dir
345 -k
346 --no-keep-dirs
347 Do not delete directories when done. This is useful if you want to
348 inspect the directories used for various commands.
349
350 --summary
351 --summary=/path/to/summary.json
352 --no-summary
353 Write out a summary json file, if no path is provided
354 'summary.json' will be used. The .json extension is added
355 automatically if omitted.
356
357 Logging Options
358
359 --bzip2
360 --bz2
361 --bzip2_log
362 -B
363 --no-bzip2
364 Use bzip2 compression when writing the log. This option implies -L.
365 The .bz2 prefix is added to log file name for you
366
367 --gzip
368 --gz
369 --gzip_log
370 -G
371 --no-gzip
372 Use gzip compression when writing the log. This option implies -L.
373 The .gz prefix is added to log file name for you
374
375 --log
376 -L
377 --no-log
378 Turn on logging
379
380 --log-dir ARG
381 --log-dir=ARG
382 --no-log-dir
383 Specify a log directory. Will fall back to the system temp dir.
384
385 --log-file ARG
386 --log-file=ARG
387 -F ARG
388 -F=ARG
389 --no-log-file
390 Specify the name of the log file. This option implies -L.
391
392 --log-file-format ARG
393 --log-file-format=ARG
394 --lff ARG
395 --lff=ARG
396 --no-log-file-format
397 Specify the format for automatically-generated log files.
398 Overridden by --log-file, if given. This option implies -L
399 (Default: \$YATH_LOG_FILE_FORMAT, if that is set, or else
400 "%!P%Y-%m-%d~%H:%M:%S~%!U~%!p.jsonl"). This is a string in which
401 percent-escape sequences will be replaced as per POSIX::strftime.
402 The following special escape sequences are also replaced: (%!P :
403 Project name followed by a ~, if a project is defined, otherwise
404 empty string) (%!U : the unique test run ID) (%!p : the process ID)
405 (%!S : the number of seconds since local midnight UTC)
406
407 Can also be set with the following environment variables:
408 "YATH_LOG_FILE_FORMAT", "TEST2_HARNESS_LOG_FORMAT"
409
410 --write-coverage
411 --write-coverage=coverage.json
412 --no-write-coverage
413 Create a json file of all coverage data seen during the run (This
414 implies --cover-files).
415
416 Notification Options
417
418 --notify-email foo@example.com
419 --no-notify-email
420 Email the test results to the specified email address(es)
421
422 Can be specified multiple times
423
424 --notify-email-fail foo@example.com
425 --no-notify-email-fail
426 Email failing results to the specified email address(es)
427
428 Can be specified multiple times
429
430 --notify-email-from foo@example.com
431 --no-notify-email-from
432 If any email is sent, this is who it will be from
433
434 --notify-email-owner
435 --no-notify-email-owner
436 Email the owner of broken tests files upon failure. Add `# HARNESS-
437 META-OWNER foo@example.com` to the top of a test file to give it an
438 owner
439
440 --notify-no-batch-email
441 --no-notify-no-batch-email
442 Usually owner failures are sent as a single batch at the end of
443 testing. Toggle this to send failures as they happen.
444
445 --notify-no-batch-slack
446 --no-notify-no-batch-slack
447 Usually owner failures are sent as a single batch at the end of
448 testing. Toggle this to send failures as they happen.
449
450 --notify-slack '#foo'
451 --notify-slack '@bar'
452 --no-notify-slack
453 Send results to a slack channel and/or user
454
455 Can be specified multiple times
456
457 --notify-slack-fail '#foo'
458 --notify-slack-fail '@bar'
459 --no-notify-slack-fail
460 Send failing results to a slack channel and/or user
461
462 Can be specified multiple times
463
464 --notify-slack-owner
465 --no-notify-slack-owner
466 Send slack notifications to the slack channels/users listed in test
467 meta-data when tests fail.
468
469 --notify-slack-url https://hooks.slack.com/...
470 --no-notify-slack-url
471 Specify an API endpoint for slack webhook integrations
472
473 --notify-text ARG
474 --notify-text=ARG
475 --message ARG
476 --message=ARG
477 --msg ARG
478 --msg=ARG
479 --no-notify-text
480 Add a custom text snippet to email/slack notifications
481
482 Run Options
483
484 --author-testing
485 -A
486 --no-author-testing
487 This will set the AUTHOR_TESTING environment to true
488
489 --cover-files
490 --no-cover-files
491 Use Test2::Plugin::Cover to collect coverage data for what files
492 are touched by what tests. Unlike Devel::Cover this has very little
493 performance impact (About 4% difference)
494
495 --dbi-profiling
496 --no-dbi-profiling
497 Use Test2::Plugin::DBIProfile to collect database profiling data
498
499 --env-var VAR=VAL
500 -EVAR=VAL
501 -E VAR=VAL
502 --no-env-var
503 Set environment variables to set when each test is run.
504
505 Can be specified multiple times
506
507 --event-uuids
508 --uuids
509 --no-event-uuids
510 Use Test2::Plugin::UUID inside tests (default: on)
511
512 --fields name:details
513 --fields JSON_STRING
514 -f name:details
515 -f JSON_STRING
516 --no-fields
517 Add custom data to the harness run
518
519 Can be specified multiple times
520
521 --input ARG
522 --input=ARG
523 --no-input
524 Input string to be used as standard input for ALL tests. See also:
525 --input-file
526
527 --input-file ARG
528 --input-file=ARG
529 --no-input-file
530 Use the specified file as standard input to ALL tests
531
532 --io-events
533 --no-io-events
534 Use Test2::Plugin::IOEvents inside tests to turn all prints into
535 test2 events (default: off)
536
537 --link 'https://travis.work/builds/42'
538 --link 'https://jenkins.work/job/42'
539 --link 'https://buildbot.work/builders/foo/builds/42'
540 --no-link
541 Provide one or more links people can follow to see more about this
542 run.
543
544 Can be specified multiple times
545
546 --load ARG
547 --load=ARG
548 --load-module ARG
549 --load-module=ARG
550 -m ARG
551 -m=ARG
552 --no-load
553 Load a module in each test (after fork). The "import" method is not
554 called.
555
556 Can be specified multiple times
557
558 --load-import Module
559 --load-import Module=import_arg1,arg2,...
560 --loadim Module
561 --loadim Module=import_arg1,arg2,...
562 -M Module
563 -M Module=import_arg1,arg2,...
564 --no-load-import
565 Load a module in each test (after fork). Import is called.
566
567 Can be specified multiple times. If the same key is listed multiple
568 times the value lists will be appended together.
569
570 --mem-usage
571 --no-mem-usage
572 Use Test2::Plugin::MemUsage inside tests (default: on)
573
574 --retry ARG
575 --retry=ARG
576 -r ARG
577 -r=ARG
578 --no-retry
579 Run any jobs that failed a second time. NOTE: --retry=1 means
580 failing tests will be attempted twice!
581
582 --retry-isolated
583 --retry-iso
584 --no-retry-isolated
585 If true then any job retries will be done in isolation (as though
586 -j1 was set)
587
588 --run-id
589 --id
590 --no-run-id
591 Set a specific run-id. (Default: a UUID)
592
593 --test-args ARG
594 --test-args=ARG
595 --no-test-args
596 Arguments to pass in as @ARGV for all tests that are run. These can
597 be provided easier using the '::' argument separator.
598
599 Can be specified multiple times
600
601 --stream
602 --no-stream
603 Use the stream formatter (default is on)
604
605 --tap
606 --TAP
607 ----no-stream
608 --no-tap
609 The TAP format is lossy and clunky. Test2::Harness normally uses a
610 newer streaming format to receive test results. There are
611 old/legacy tests where this causes problems, in which case setting
612 --TAP or --no-stream can help.
613
614 YathUI Options
615
616 --yathui-api-key ARG
617 --yathui-api-key=ARG
618 --no-yathui-api-key
619 Yath-UI API key. This is not necessary if your Yath-UI instance is
620 set to single-user
621
622 --yathui-coverage
623 --no-yathui-coverage
624 Poll coverage data from Yath-UI to determine what tests should be
625 run for changed files
626
627 --yathui-db
628 --no-yathui-db
629 Add the YathUI DB renderer in addition to other renderers
630
631 --yathui-durations
632 --no-yathui-durations
633 Poll duration data from Yath-UI to help order tests efficiently
634
635 --yathui-grace
636 --no-yathui-grace
637 If yath cannot connect to yath-ui it normally throws an error, use
638 this to make it fail gracefully. You get a warning, but things keep
639 going.
640
641 --yathui-long-duration 10
642 --no-yathui-long-duration
643 Minimum duration length (seconds) before a test goes from MEDIUM to
644 LONG
645
646 --yathui-medium-duration 5
647 --no-yathui-medium-duration
648 Minimum duration length (seconds) before a test goes from SHORT to
649 MEDIUM
650
651 --yathui-mode summary
652 --yathui-mode qvf
653 --yathui-mode qvfd
654 --yathui-mode complete
655 --no-yathui-mode
656 Set the upload mode (default 'qvfd')
657
658 --yathui-only
659 --no-yathui-only
660 Only use the YathUI renderer
661
662 --yathui-only-db
663 --no-yathui-only-db
664 Only use the YathUI DB renderer
665
666 --yathui-port 8080
667 --no-yathui-port
668 Port to use when running a local server
669
670 --yathui-port-command get_port.sh
671 --yathui-port-command get_port.sh --pid $$
672 --no-yathui-port-command
673 Use a command to get a port number. "$$" will be replaced with the
674 PID of the yath process
675
676 --yathui-project ARG
677 --yathui-project=ARG
678 --no-yathui-project
679 The Yath-UI project for your test results
680
681 --yathui-render
682 --no-yathui-render
683 Add the YathUI renderer in addition to other renderers
684
685 --yathui-retry
686 --no-yathui-retry
687 How many times to try an operation before giving up
688
689 Can be specified multiple times
690
691 --yathui-schema PostgreSQL
692 --yathui-schema MySQL
693 --yathui-schema MySQL56
694 --no-yathui-schema
695 What type of DB/schema to use when using a temporary database
696
697 --yathui-upload
698 --no-yathui-upload
699 Upload the log to Yath-UI
700
701 --yathui-url http://my-yath-ui.com/...
702 --uri http://my-yath-ui.com/...
703 --no-yathui-url
704 Yath-UI url
705
706 --yathui-user ARG
707 --yathui-user=ARG
708 --no-yathui-user
709 Username to attach to the data sent to the db
710
711 --yathui-db-buffering none
712 --yathui-db-buffering job
713 --yathui-db-buffering diag
714 --yathui-db-buffering run
715 --no-yathui-db-buffering
716 Type of buffering to use, if "none" then events are written to the
717 db one at a time, which is SLOW
718
719 --yathui-db-config ARG
720 --yathui-db-config=ARG
721 --no-yathui-db-config
722 Module that implements 'MODULE->yath_ui_config(%params)' which
723 should return a Test2::Harness::UI::Config instance.
724
725 --yathui-db-driver Pg
726 --yathui-db-drivermysql
727 --yathui-db-driverMariaDB
728 --no-yathui-db-driver
729 DBI Driver to use
730
731 --yathui-db-dsn ARG
732 --yathui-db-dsn=ARG
733 --no-yathui-db-dsn
734 DSN to use when connecting to the db
735
736 --yathui-db-flush-interval 2
737 --yathui-db-flush-interval 1.5
738 --no-yathui-db-flush-interval
739 When buffering DB writes, force a flush when an event is recieved
740 at least N seconds after the last flush.
741
742 --yathui-db-host ARG
743 --yathui-db-host=ARG
744 --no-yathui-db-host
745 hostname to use when connecting to the db
746
747 --yathui-db-name ARG
748 --yathui-db-name=ARG
749 --no-yathui-db-name
750 Name of the database to use for yathui
751
752 --yathui-db-pass ARG
753 --yathui-db-pass=ARG
754 --no-yathui-db-pass
755 Password to use when connecting to the db
756
757 --yathui-db-port ARG
758 --yathui-db-port=ARG
759 --no-yathui-db-port
760 port to use when connecting to the db
761
762 --yathui-db-socket ARG
763 --yathui-db-socket=ARG
764 --no-yathui-db-socket
765 socket to use when connecting to the db
766
767 --yathui-db-user ARG
768 --yathui-db-user=ARG
769 --no-yathui-db-user
770 Username to use when connecting to the db
771
773 The source code repository for Test2-Harness can be found at
774 http://github.com/Test-More/Test2-Harness/.
775
777 Chad Granum <exodist@cpan.org>
778
780 Chad Granum <exodist@cpan.org>
781
783 Copyright 2021 Chad Granum <exodist7@gmail.com>.
784
785 This program is free software; you can redistribute it and/or modify it
786 under the same terms as Perl itself.
787
788 See http://dev.perl.org/licenses/
789
790
791
792perl v5.32.1 2021-03-12 App::Yath::Command::stop(3)