1App::Yath::Options::FinUdseerr(3C)ontributed Perl DocumeAnptpa:t:iYoanth::Options::Finder(3)
2
3
4
6 App::Yath::Options::Finder - Finder options for Yath.
7
9 This is where the command line options for discovering test files are
10 defined.
11
13 YATH OPTIONS (PRE-COMMAND)
14 Finder Options
15
16 --finder MyFinder
17 --finder +Test2::Harness::Finder::MyFinder
18 --no-finder
19 Specify what Finder subclass to use when searching for
20 files/processing the file list. Use the "+" prefix to specify a
21 fully qualified namespace, otherwise Test2::Harness::Finder::XXX
22 namespace is assumed.
23
24 COMMAND OPTIONS
25 Finder Options
26
27 --changed path/to/file
28 --no-changed
29 Specify one or more files as having been changed.
30
31 Can be specified multiple times
32
33 --changed-only
34 --no-changed-only
35 Only search for tests for changed files (Requires a coverage data
36 source, also requires a list of changes either from the --changed
37 option, or a plugin that implements changed_files() or
38 changed_diff())
39
40 --changes-diff path/to/diff.diff
41 --no-changes-diff
42 Path to a diff file that should be used to find changed files for
43 use with --changed-only. This must be in the same format as `git
44 diff -W --minimal -U1000000`
45
46 --changes-exclude-file path/to/file
47 --no-changes-exclude-file
48 Specify one or more files to ignore when looking at changes
49
50 Can be specified multiple times
51
52 --changes-exclude-loads
53 --no-changes-exclude-loads
54 Exclude coverage tests which only load changed files, but never
55 call code from them. (default: off)
56
57 --changes-exclude-nonsub
58 --no-changes-exclude-nonsub
59 Exclude changes outside of subroutines (perl files only) (default:
60 off)
61
62 --changes-exclude-opens
63 --no-changes-exclude-opens
64 Exclude coverage tests which only open() changed files, but never
65 call code from them. (default: off)
66
67 --changes-exclude-pattern '(apple|pear|orange)'
68 --no-changes-exclude-pattern
69 Ignore files matching this pattern when looking for changes. Your
70 pattern will be inserted unmodified into a `$file =~ m/$pattern/`
71 check.
72
73 Can be specified multiple times
74
75 --changes-filter-file path/to/file
76 --no-changes-filter-file
77 Specify one or more files to check for changes. Changes to other
78 files will be ignored
79
80 Can be specified multiple times
81
82 --changes-filter-pattern '(apple|pear|orange)'
83 --no-changes-filter-pattern
84 Specify a pattern for change checking. When only running tests for
85 changed files this will limit which files are checked for changes.
86 Only files that match this pattern will be checked. Your pattern
87 will be inserted unmodified into a `$file =~ m/$pattern/` check.
88
89 Can be specified multiple times
90
91 --changes-include-whitespace
92 --no-changes-include-whitespace
93 Include changed lines that are whitespace only (default: off)
94
95 --changes-plugin Git
96 --changes-plugin +App::Yath::Plugin::Git
97 --no-changes-plugin
98 What plugin should be used to detect changed files.
99
100 --default-at-search ARG
101 --default-at-search=ARG
102 --no-default-at-search
103 Specify the default file/dir search when 'AUTHOR_TESTING' is set.
104 Defaults to './xt'. The default AT search is only used if no files
105 were specified at the command line
106
107 Can be specified multiple times
108
109 --default-search ARG
110 --default-search=ARG
111 --no-default-search
112 Specify the default file/dir search. defaults to './t', './t2', and
113 'test.pl'. The default search is only used if no files were
114 specified at the command line
115
116 Can be specified multiple times
117
118 --durations file.json
119 --durations http://example.com/durations.json
120 --no-durations
121 Point at a json file or url which has a hash of relative test
122 filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
123 will override durations listed in the file headers. An exception
124 will be thrown if the durations file or url does not work.
125
126 --durations-threshold ARG
127 --durations-threshold=ARG
128 --Dt ARG
129 --Dt=ARG
130 --no-durations-threshold
131 Only fetch duration data if running at least this number of tests.
132 Default (-j value + 1)
133
134 --exclude-file t/nope.t
135 --no-exclude-file
136 Exclude a file from testing
137
138 Can be specified multiple times
139
140 --exclude-list file.txt
141 --exclude-list http://example.com/exclusions.txt
142 --no-exclude-list
143 Point at a file or url which has a new line separated list of test
144 file names to exclude from testing. Starting a line with a '#' will
145 comment it out (for compatibility with Test2::Aggregate list
146 files).
147
148 Can be specified multiple times
149
150 --exclude-pattern t/nope.t
151 --no-exclude-pattern
152 Exclude a pattern from testing, matched using m/$PATTERN/
153
154 Can be specified multiple times
155
156 --extension ARG
157 --extension=ARG
158 --ext ARG
159 --ext=ARG
160 --no-extension
161 Specify valid test filename extensions, default: t and t2
162
163 Can be specified multiple times
164
165 --maybe-durations file.json
166 --maybe-durations http://example.com/durations.json
167 --no-maybe-durations
168 Point at a json file or url which has a hash of relative test
169 filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
170 will override durations listed in the file headers. An exception
171 will be thrown if the durations file or url does not work.
172
173 --no-long
174 --no-no-long
175 Do not run tests that have their duration flag set to 'LONG'
176
177 --only-long
178 --no-only-long
179 Only run tests that have their duration flag set to 'LONG'
180
181 --rerun
182 --rerun=path/to/log.jsonl
183 --rerun=plugin_specific_string
184 --no-rerun
185 Re-Run tests from a previous run from a log file (or last log
186 file). Plugins can intercept this, such as YathUIDB which will grab
187 a run UUID and derive tests to re-run from that.
188
189 --rerun-all
190 --rerun-all=path/to/log.jsonl
191 --rerun-all=plugin_specific_string
192 --no-rerun-all
193 Re-Run all tests from a previous run from a log file (or last log
194 file). Plugins can intercept this, such as YathUIDB which will grab
195 a run UUID and derive tests to re-run from that.
196
197 --rerun-failed
198 --rerun-failed=path/to/log.jsonl
199 --rerun-failed=plugin_specific_string
200 --no-rerun-failed
201 Re-Run failed tests from a previous run from a log file (or last
202 log file). Plugins can intercept this, such as YathUIDB which will
203 grab a run UUID and derive tests to re-run from that.
204
205 --rerun-missed
206 --rerun-missed=path/to/log.jsonl
207 --rerun-missed=plugin_specific_string
208 --no-rerun-missed
209 Run missed tests from a previously aborted/stopped run from a log
210 file (or last log file). Plugins can intercept this, such as
211 YathUIDB which will grab a run UUID and derive tests to re-run from
212 that.
213
214 --rerun-modes failed,missed,...
215 --rerun-modes all
216 --rerun-modes failed
217 --rerun-modes missed
218 --rerun-modes passed
219 --rerun-modes retried
220 --rerun-mode failed,missed,...
221 --rerun-mode all
222 --rerun-mode failed
223 --rerun-mode missed
224 --rerun-mode passed
225 --rerun-mode retried
226 --no-rerun-modes
227 Pick which test categories to run
228
229 Can be specified multiple times
230
231 --rerun-passed
232 --rerun-passed=path/to/log.jsonl
233 --rerun-passed=plugin_specific_string
234 --no-rerun-passed
235 Re-Run passed tests from a previous run from a log file (or last
236 log file). Plugins can intercept this, such as YathUIDB which will
237 grab a run UUID and derive tests to re-run from that.
238
239 --rerun-plugin Foo
240 --rerun-plugin +App::Yath::Plugin::Foo
241 --no-rerun-plugin
242 What plugin(s) should be used for rerun (will fallback to other
243 plugins if the listed ones decline the value, this is just used ot
244 set an order of priority)
245
246 Can be specified multiple times
247
248 --rerun-retried
249 --rerun-retried=path/to/log.jsonl
250 --rerun-retried=plugin_specific_string
251 --no-rerun-retried
252 Re-Run retried tests from a previous run from a log file (or last
253 log file). Plugins can intercept this, such as YathUIDB which will
254 grab a run UUID and derive tests to re-run from that.
255
256 --search ARG
257 --search=ARG
258 --no-search
259 List of tests and test directories to use instead of the default
260 search paths. Typically these can simply be listed as command line
261 arguments without the --search prefix.
262
263 Can be specified multiple times
264
265 --show-changed-files
266 --no-show-changed-files
267 Print a list of changed files if any are found
268
270 The source code repository for Test2-Harness can be found at
271 http://github.com/Test-More/Test2-Harness/.
272
274 Chad Granum <exodist@cpan.org>
275
277 Chad Granum <exodist@cpan.org>
278
280 Copyright 2020 Chad Granum <exodist7@gmail.com>.
281
282 This program is free software; you can redistribute it and/or modify it
283 under the same terms as Perl itself.
284
285 See http://dev.perl.org/licenses/
286
287
288
289perl v5.36.1 2023-10-04 App::Yath::Options::Finder(3)