App::Yath::Options::Finder - Finder options for Yath.
This is where the command line options for discovering test files are defined.
Finder Options
- --finder MyFinder
- --finder +Test2::Harness::Finder::MyFinder
- --no-finder
- Specify what Finder subclass to use when searching for
files/processing the file list. Use the "+" prefix to specify a
fully qualified namespace, otherwise Test2::Harness::Finder::XXX namespace
is assumed.
Finder Options
- --changed path/to/file
- --no-changed
- Specify one or more files as having been changed.
Can be specified multiple times
- --changed-only
- --no-changed-only
- Only search for tests for changed files (Requires a
coverage data source, also requires a list of changes either from the
--changed option, or a plugin that implements changed_files() or
changed_diff())
- --changes-diff path/to/diff.diff
- --no-changes-diff
- Path to a diff file that should be used to find changed
files for use with --changed-only. This must be in the same format as `git
diff -W --minimal -U1000000`
- --changes-exclude-file path/to/file
- --no-changes-exclude-file
- Specify one or more files to ignore when looking at changes
Can be specified multiple times
- --changes-exclude-loads
- --no-changes-exclude-loads
- Exclude coverage tests which only load changed files, but
never call code from them. (default: off)
- --changes-exclude-nonsub
- --no-changes-exclude-nonsub
- Exclude changes outside of subroutines (perl files only)
(default: off)
- --changes-exclude-opens
- --no-changes-exclude-opens
- Exclude coverage tests which only open() changed
files, but never call code from them. (default: off)
- --changes-exclude-pattern '(apple|pear|orange)'
- --no-changes-exclude-pattern
- Ignore files matching this pattern when looking for
changes. Your pattern will be inserted unmodified into a `$file =~
m/$pattern/` check.
Can be specified multiple times
- --changes-filter-file path/to/file
- --no-changes-filter-file
- Specify one or more files to check for changes. Changes to
other files will be ignored
Can be specified multiple times
- --changes-filter-pattern '(apple|pear|orange)'
- --no-changes-filter-pattern
- Specify a pattern for change checking. When only running
tests for changed files this will limit which files are checked for
changes. Only files that match this pattern will be checked. Your pattern
will be inserted unmodified into a `$file =~ m/$pattern/` check.
Can be specified multiple times
- --changes-include-whitespace
- --no-changes-include-whitespace
- Include changed lines that are whitespace only (default:
off)
- --changes-plugin Git
- --changes-plugin +App::Yath::Plugin::Git
- --no-changes-plugin
- What plugin should be used to detect changed files.
- --default-at-search ARG
- --default-at-search=ARG
- --no-default-at-search
- Specify the default file/dir search when 'AUTHOR_TESTING'
is set. Defaults to './xt'. The default AT search is only used if no files
were specified at the command line
Can be specified multiple times
- --default-search ARG
- --default-search=ARG
- --no-default-search
- Specify the default file/dir search. defaults to './t',
'./t2', and 'test.pl'. The default search is only used if no files were
specified at the command line
Can be specified multiple times
- --durations file.json
- --durations http://example.com/durations.json
- --no-durations
- Point at a json file or url which has a hash of relative
test filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
will override durations listed in the file headers. An exception will be
thrown if the durations file or url does not work.
- --durations-threshold ARG
- --durations-threshold=ARG
- --Dt ARG
- --Dt=ARG
- --no-durations-threshold
- Only fetch duration data if running at least this number of
tests. Default (-j value + 1)
- --exclude-file t/nope.t
- --no-exclude-file
- Exclude a file from testing
Can be specified multiple times
- --exclude-list file.txt
- --exclude-list http://example.com/exclusions.txt
- --no-exclude-list
- Point at a file or url which has a new line separated list
of test file names to exclude from testing. Starting a line with a '#'
will comment it out (for compatibility with Test2::Aggregate list files).
Can be specified multiple times
- --exclude-pattern t/nope.t
- --no-exclude-pattern
- Exclude a pattern from testing, matched using m/$PATTERN/
Can be specified multiple times
- --extension ARG
- --extension=ARG
- --ext ARG
- --ext=ARG
- --no-extension
- Specify valid test filename extensions, default: t and t2
Can be specified multiple times
- --maybe-durations file.json
- --maybe-durations http://example.com/durations.json
- --no-maybe-durations
- Point at a json file or url which has a hash of relative
test filenames as keys, and 'SHORT', 'MEDIUM', or 'LONG' as values. This
will override durations listed in the file headers. An exception will be
thrown if the durations file or url does not work.
- --no-long
- --no-no-long
- Do not run tests that have their duration flag set to
'LONG'
- --only-long
- --no-only-long
- Only run tests that have their duration flag set to
'LONG'
- --rerun
- --rerun=path/to/log.jsonl
- --rerun=plugin_specific_string
- --no-rerun
- Re-Run tests from a previous run from a log file (or last
log file). Plugins can intercept this, such as YathUIDB which will grab a
run UUID and derive tests to re-run from that.
- --rerun-all
- --rerun-all=path/to/log.jsonl
- --rerun-all=plugin_specific_string
- --no-rerun-all
- Re-Run all tests from a previous run from a log file (or
last log file). Plugins can intercept this, such as YathUIDB which will
grab a run UUID and derive tests to re-run from that.
- --rerun-failed
- --rerun-failed=path/to/log.jsonl
- --rerun-failed=plugin_specific_string
- --no-rerun-failed
- Re-Run failed tests from a previous run from a log file (or
last log file). Plugins can intercept this, such as YathUIDB which will
grab a run UUID and derive tests to re-run from that.
- --rerun-missed
- --rerun-missed=path/to/log.jsonl
- --rerun-missed=plugin_specific_string
- --no-rerun-missed
- Run missed tests from a previously aborted/stopped run from
a log file (or last log file). Plugins can intercept this, such as
YathUIDB which will grab a run UUID and derive tests to re-run from
that.
- --rerun-modes failed,missed,...
- --rerun-modes all
- --rerun-modes failed
- --rerun-modes missed
- --rerun-modes passed
- --rerun-modes retried
- --rerun-mode failed,missed,...
- --rerun-mode all
- --rerun-mode failed
- --rerun-mode missed
- --rerun-mode passed
- --rerun-mode retried
- --no-rerun-modes
- Pick which test categories to run
Can be specified multiple times
- --rerun-passed
- --rerun-passed=path/to/log.jsonl
- --rerun-passed=plugin_specific_string
- --no-rerun-passed
- Re-Run passed tests from a previous run from a log file (or
last log file). Plugins can intercept this, such as YathUIDB which will
grab a run UUID and derive tests to re-run from that.
- --rerun-plugin Foo
- --rerun-plugin +App::Yath::Plugin::Foo
- --no-rerun-plugin
- What plugin(s) should be used for rerun (will fallback to
other plugins if the listed ones decline the value, this is just used ot
set an order of priority)
Can be specified multiple times
- --rerun-retried
- --rerun-retried=path/to/log.jsonl
- --rerun-retried=plugin_specific_string
- --no-rerun-retried
- Re-Run retried tests from a previous run from a log file
(or last log file). Plugins can intercept this, such as YathUIDB which
will grab a run UUID and derive tests to re-run from that.
- --search ARG
- --search=ARG
- --no-search
- List of tests and test directories to use instead of the
default search paths. Typically these can simply be listed as command line
arguments without the --search prefix.
Can be specified multiple times
- --show-changed-files
- --no-show-changed-files
- Print a list of changed files if any are found
The source code repository for Test2-Harness can be found at
http://github.com/Test-More/Test2-Harness/.
- Chad Granum <[email protected]>
- Chad Granum <[email protected]>
Copyright 2020 Chad Granum <
[email protected]>.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
See
http://dev.perl.org/licenses/