Test2::Harness::Runner::Job(3pm)

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. If the task has a "resource_skip" set (indicating permanently unavailable resources), the command will emit TAP to skip the test. When the "--fail-on-resource-skip" runner option is enabled, the command will instead emit a TAP test failure.

@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

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/