App::Prove::State::Result(3pm) Perl Programmers Reference Guide App::Prove::State::Result(3pm)

# [NAME](#NAME)

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

# [VERSION](#VERSION)

Version 3.52

# [DESCRIPTION](#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](#SYNOPSIS)

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

# [METHODS](#METHODS)

## [Class 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"](#_state_version_)

Returns the current version of state storage.

## ["test\_class"](#_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.

2026-10-26 perl v5.44.0

---

Document: App::Prove::State::Result(3pm) from perl 5.44.0-r3 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
