App::Prove::State::Result - Individual test suite results.
| Use Case | Command | Description |
|---|---|---|
| Create new result object | App::Prove::State::Result->new({ generation => $gen, tests => \%tests }) | 🎯 Initialize a new result instance |
| Get test results hash | $result->tests() | 📊 Returns hashref of tests with metadata |
| Access individual test | $result->test('t/foo.t') | 🔍 Get a specific test's result object |
| Remove a test | $result->remove($test_name) | 🗑️ Remove test from results |
| List test names | $result->test_names() | 📋 Get sorted list of test names |
| Get generation number | $result->generation() | 🔢 Get/set generation counter |
| Get last run time | $result->last_run_time() | ⏰ Get/set timestamp of last run |
| Count tests | $result->num_tests() | 🧮 Number of tests in this suite result |
| Export raw data | $result->raw() | 📦 Hashref suitable for YAML serialization |
Version 3.43
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.
# Re-run failed tests
$ prove --state=failed,save -rbv
"new"
my $result = App::Prove::State::Result->new({
generation => $generation,
tests => \%tests,
});
Returns a new "App::Prove::State::Result" instance.
Returns the current version of state storage.
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.
Getter/setter for the "generation" of the test suite run. The first generation is 1 (one) and subsequent generations are 2, 3, etc.
Getter/setter for the time of the test suite run.
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',
}
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.
Returns a list of test names, sorted by run order.
$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.
Returns the number of tests for a given test suite result.
Returns a hashref of raw results, suitable for serialization by YAML.
perl v5.34.0 2026-06-23 App::Prove::State::Result(3perl)
Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-23 10:17 @216.73.216.102
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)