NAME
Test2::Harness::Runner::Job - Representation of a test job.
DESCRIPTION
This module takes all the data from a test file queue item, a run, and runner settings, and mashes them together to figure out what is actually needed to run a job.
METHODS
Note, this object subclasses Test2::Harness::IPC::Process.
- $arrayref = $job->args
-
Get the arguments for the test either formt he queue item, or from the run.
- $path = $job->bail_file
-
Path to the events-file used in case of a bail-out
- $bool = $job->bailed_out
-
True if the test job bailed out.
- $cat $job->category
-
Process category, always 'job' unless overriden in a subclass.
- $path = $job->ch_dir
-
If this job first requires a change in directory before running, this will return the path.
- @list = $job->cli_includes
-
List of includes for a command line launch of this job.
- @list = $job->cli_options
-
List of options for a command line launch of this job.
- $hashref = $job->env_vars
-
Get environment variables to set when launching this job.
- $path = $job->out_file
-
File to which all STDOUT for the job will be written.
- $path = $job->err_file
-
File to which all STDERR for the job will be written.
- $path = $job->et_file
-
File to which event timeout notifications will be written.
- $path = $job->pet_file
-
File to which post exit timeout events will be written.
- $path = $job->event_dir
-
Directory to which Test2::Formatter::Stream events will be written.
- $time = $job->event_timeout
-
Event timeout specification, if any, first from test queue item, then from runner.
- $time = $job->post_exit_timeout
-
Post exit timeout specification, if any, first from test queue item, then from runner.
- $bool = $job->event_uuids
-
Use Test2::Plugin::UUID inside the test.
- $path = $job->file
-
Test file the job will be running.
- $coderef = $job->fork_callback
-
If the job is to be launched via fork, use this callback.
- $path = $job->in_file
-
File containing STDIN to be provided to the test.
- @list = $job->includes
-
Paths to add to @INC for the test.
- $bool = $job->io_events
-
True if Test2::Plugin::IOEvents should be used.
- $int = $job->is_try
-
This starts at 0 and will be incremented for every retry of the job.
- $path = $job->job_dir
-
Temporary directory housing all files related to this job when it runs.
- $uuid = $job->job_id
-
UUID for this job.
- @list = $job->load
-
Modules to load when starting this job.
- @list = $job->load_import
-
Modules to load and import when starting this job.
- $bool = $job->mem_usage
-
True if the Test2::Plugin::MemUsage plugin should be used.
- $path = $job->run_file
-
Usually the same as rel_file, but you can specify an alternative file to actually run.
- $path = $job->rel_file
-
Relative path to the file.
- $int = $job->retry
-
How many times the test should be retried if it fails.
- $bool = $job->retry_isolated
-
True if the test should be retried in isolation if it fails.
- $run = $job->run
-
The Test2::Harness::Runner::Run instance.
- $path = $job->run_dir
-
Path to the temporary directory housing all the data about the run.
- $runner = $job->runner
-
The Test2::Harness::Runner instance.
- @list = $job->runner_includes
-
Search path includes provided directly by the runner.
- $settings = $job->settings
-
The Test2::Harness::Settings instance.
- $bool = $job->smoke
-
True if the test is a priority smoke test.
- $hashref = $job->spawn_params
-
Parameters for
run_cmd()
in Test2::Harness::Util::IPC when launching this job. - @list = $job->switches
-
Command line switches for perl when running this test.
- $hashref = $job->task
-
Task data from the queue.
- $path = $job->tmp_dir
-
Temp dir created specifically for this job.
- $bool = $job->unsafe_inc
-
True if '.' should be added to
@INC
. - $bool = $job->use_fork
-
True if this job should be launched via fork.
- $bool = $job->use_stream
-
True if this job should use Test2::Formatter::Stream.
- $bool = $job->use_timeout
-
True if this job should timeout due to lack of activity.
- $bool = $job->use_w_switch
-
True if the
-w
switch should be used for this test.
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/