Perl 5 version 24.3 documentation

App::Prove::State::Result

NAME

App::Prove::State::Result - Individual test suite results.

VERSION

Version 3.36

DESCRIPTION

The prove command supports a --state option that instructs it to store persistent state across runs. This module encapsulates the results for a single test suite run.

SYNOPSIS

  1. # Re-run failed tests
  2. $ prove --state=failed,save -rbv

METHODS

Class Methods

new

  1. my $result = App::Prove::State::Result->new({
  2. generation => $generation,
  3. tests => \%tests,
  4. });

Returns a new App::Prove::State::Result instance.

state_version

Returns the current version of state storage.

test_class

Returns the name of the class used for tracking individual tests. This class should either subclass from App::Prove::State::Result::Test or provide an identical interface.

generation

Getter/setter for the "generation" of the test suite run. The first generation is 1 (one) and subsequent generations are 2, 3, etc.

last_run_time

Getter/setter for the time of the test suite run.

tests

Returns the tests for a given generation. This is a hashref or a hash, depending on context called. The keys to the hash are the individual test names and the value is a hashref with various interesting values. Each k/v pair might resemble something like this:

  1. 't/foo.t' => {
  2. elapsed => '0.0428488254547119',
  3. gen => '7',
  4. last_pass_time => '1219328376.07815',
  5. last_result => '0',
  6. last_run_time => '1219328376.07815',
  7. last_todo => '0',
  8. mtime => '1191708862',
  9. seq => '192',
  10. total_passes => '6',
  11. }

test

  1. my $test = $result->test('t/customer/create.t');

Returns an individual App::Prove::State::Result::Test instance for the given test name (usually the filename). Will return a new App::Prove::State::Result::Test instance if the name is not found.

test_names

Returns an list of test names, sorted by run order.

remove

  1. $result->remove($test_name); # remove the test
  2. my $test = $result->test($test_name); # fatal error

Removes a given test from results. This is a no-op if the test name is not found.

num_tests

Returns the number of tests for a given test suite result.

raw

Returns a hashref of raw results, suitable for serialization by YAML.