1App::Yath::Command::stoUps(e3r)Contributed Perl DocumentAaptpi:o:nYath::Command::stop(3)
2
3
4

NAME

6       App::Yath::Command::stop - Stop the persistent test runner
7

DESCRIPTION

9       This command will stop a persistent instance, and output any log
10       contents.
11

USAGE

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

SOURCE

773       The source code repository for Test2-Harness can be found at
774       http://github.com/Test-More/Test2-Harness/.
775

MAINTAINERS

777       Chad Granum <exodist@cpan.org>
778

AUTHORS

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)
Impressum