Scroll to navigation

Test2::Harness::Runner(3pm) User Contributed Perl Documentation 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

AUTHORS

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/

2024-03-08 perl v5.38.2