The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

App::Yath::Options::Finder - FIXME

DESCRIPTION

PROVIDED OPTIONS

Finder Options

--changed path/to/file
--no-changed

Specify one or more files as having been changed.

Note: 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
--changes-exclude-files path/to/file
--no-changes-exclude-files

Specify one or more files to ignore when looking at changes

Note: 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)'
--changes-exclude-patterns '(apple|pear|orange)'
--no-changes-exclude-patterns

Ignore files matching this pattern when looking for changes. Your pattern will be inserted unmodified into a `$file =~ m/$pattern/` check.

Note: Can be specified multiple times

--changes-filter-file path/to/file
--changes-filter-files path/to/file
--no-changes-filter-files

Specify one or more files to check for changes. Changes to other files will be ignored

Note: Can be specified multiple times

--changes-filter-pattern '(apple|pear|orange)'
--changes-filter-patterns '(apple|pear|orange)'
--no-changes-filter-patterns

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.

Note: 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
--default-at-search '*.*'
--default-at-search='*.*'
--default-at-search '["json","list"]'
--default-at-search='["json","list"]'
--default-at-search :{ ARG1 ARG2 ... }:
--default-at-search=:{ ARG1 ARG2 ... }:

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

Note: Can be specified multiple times

--default-search ARG
--default-search=ARG
--default-search '*.*'
--default-search='*.*'
--default-search '["json","list"]'
--default-search='["json","list"]'
--default-search :{ ARG1 ARG2 ... }:
--default-search=:{ ARG1 ARG2 ... }:

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

Note: 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.

--Dt ARG
--Dt=ARG
--durations-threshold ARG
--durations-threshold=ARG
--no-durations-threshold

Only fetch duration data if running at least this number of tests. Default: 0

--exclude-file t/nope.t
--exclude-files t/nope.t
--no-exclude-files

Exclude a file from testing

Note: Can be specified multiple times

--exclude-list file.txt
--exclude-lists file.txt
--exclude-list http://example.com/exclusions.txt
--exclude-lists http://example.com/exclusions.txt
--no-exclude-lists

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

Note: Can be specified multiple times

--exclude-pattern nope
--exclude-patterns nope
--no-exclude-patterns

Exclude a pattern from testing, matched using m/$PATTERN/

Note: Can be specified multiple times

--ext ARG
--ext=ARG
--extension ARG
--extension=ARG
--extensions ARG
--extensions=ARG
--ext '["json","list"]'
--ext='["json","list"]'
--ext :{ ARG1 ARG2 ... }:
--ext=:{ ARG1 ARG2 ... }:
--extension '["json","list"]'
--extension='["json","list"]'
--extensions '["json","list"]'
--extensions='["json","list"]'
--extension :{ ARG1 ARG2 ... }:
--extension=:{ ARG1 ARG2 ... }:
--extensions :{ ARG1 ARG2 ... }:
--extensions=:{ ARG1 ARG2 ... }:
--no-extensions

Specify valid test filename extensions, default: t and t2

Note: Can be specified multiple times

--finder MyFinder
--finder +App::Yath::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 App::Yath::Finder::XXX namespace is assumed.

--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 the database plugin which will grab a run UUID and derive tests to re-run from that.

--rerun-modes all,failed,missed,passed,retried
--no-rerun-modes
/^--(no-)?rerun-(all|failed|missed|passed|retried)(=.+)?$/

Pick which test categories to run. all: Re-Run all tests from a previous run from a log file (or last log file). Plugins can intercept this, such as the database plugin which will grab a run UUID and derive tests to re-run from that. failed: Re-Run failed tests from a previous run from a log file (or last log file). Plugins can intercept this, such as the database plugin which will grab a run UUID and derive tests to re-run from that. missed: Run missed tests from a previously aborted/stopped run from a log file (or last log file). Plugins can intercept this, such as the database plugin which will grab a run UUID and derive tests to re-run from that. passed: Re-Run passed tests from a previous run from a log file (or last log file). Plugins can intercept this, such as the database plugin which will grab a run UUID and derive tests to re-run from that. retried: Re-Run retried tests from a previous run from a log file (or last log file). Plugins can intercept this, such as the database plugin which will grab a run UUID and derive tests to re-run from that.

Note: This will turn on the 'rerun' option. If the --rerun-MODE form is used, you can specify the log file with --rerun-MODE=logfile.

Note: Can be specified multiple times

--rerun-plugin Foo
--rerun-plugins Foo
--rerun-plugin +App::Yath::Plugin::Foo
--rerun-plugins +App::Yath::Plugin::Foo
--no-rerun-plugins

What plugin(s) should be used for rerun (will fallback to other plugins if the listed ones decline the value, this is just used to set an order of priority)

Note: Can be specified multiple times

--show-changed-files
--no-show-changed-files

Print a list of changed files if any are found

SOURCE

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

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright Chad Granum <exodist7@gmail.com>.

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/