Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# App::Prove::State::Result

Perl 5 version 26.0 documentation
Go to top
Show page index • Show recent pages
Recently read

# App::Prove::State::Result

- NAME
- VERSION
- DESCRIPTION
- SYNOPSIS
- METHODS
  - Class Methods
  - state_version
  - test_class

# NAME

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

# VERSION

Version 3.38

# 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

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

# METHODS

## Class Methods

### `new`

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

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:

     't/foo.t' => {    elapsed        => '0.0428488254547119',    gen            => '7',    last_pass_time => '1219328376.07815',    last_result    => '0',    last_run_time  => '1219328376.07815',    last_todo      => '0',    mtime          => '1191708862',    seq            => '192',    total_passes   => '6',  }

### `test`

     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`

     $result->remove($test_name);            # remove the test 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.

Page index

- NAME
- VERSION
- DESCRIPTION
- SYNOPSIS
- METHODS
  - Class Methods
  - state_version
  - test_class