man > App::Prove::State::Result

📛 NAME

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

🚀 Quick Reference

Use CaseCommandDescription
Create new result objectApp::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

Version 3.43

📖 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 a 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.

perl v5.34.0 2026-06-23 App::Prove::State::Result(3perl)

App::Prove::State::Result
📛 NAME 🚀 Quick Reference 🏷️ VERSION 📖 DESCRIPTION 📋 SYNOPSIS 🛠️ METHODS
🧩 Class Methods 🔧 "state_version" 🔧 "test_class" 🔧 "generation" 🔧 "last_run_time" 🔧 "tests" 🔧 "test" 🔧 "test_names" 🔧 "remove" 🔧 "num_tests" 🔧 "raw"

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)
Valid XHTML 1.0 Transitional!Valid CSS!