Test2::Harness::Runner(3pm)

NAME
Test2::Harness::Runner - Base class for test runners

DESCRIPTION
This module does the heavy lifting of running all the tests.

You should never need to create an instance of the runner yourself. In most cases the runner module is exposed via a callback or a plugin affordance.

PUBLIC METHODS

  FROM SETTINGS
These are attributesd with values set from the Test2::Harness::Settings instance created from command line arguments.

See App::Yath::Options::Runner for the most up to date documentation on these.

$runner->includes
$runner->tlib
$runner->lib
$runner->blib
$runner->unsafe_inc
$runner->use_fork
$runner->preloads
$runner->preload_threshold
$runner->switches
$runner->cover
$runner->event_timeout
$runner->post_exit_timeout

  FROM CONSTRUCTION
These attributes are set when the runner is created.

$path = $runner->dir
    Path to the working directory.

$settings = $runner->settings
    The App::Yath::Settings instance.

$coderef = $runner->fork_job_callback
    Callback used to spawn new tests via fork.

$coderef = $runner->respawn_runner_callback
    Callback to restart the runner process.

$bool = $runner->monitor_preloads
    True if preloads should be watched for changes.

$int = $runner->jobs_todo
    A count of total jobs to run. This will always be 0 in a persistent runner.

  OTHER PUBLIC METHODS
If a method is not documented here then it is an implementation detail and you should not use it.

$class = $runner->job_class
    Class for new test jobs.

$preload = $runner->preloader
    Get the Test2::Harness::Runner::Preloader instance.

$state = $runner->state
    Get the Test2::Harness::Runner::State instance.

@list = $runner->all_libs
    Get all the libs that should be added to @INC by default. Note that specific runs and even specific tests can have custom paths on top of these.

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 2020 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/