APP::PROVE::STATE::RESULT(3pm)

πŸ’– App::Prove::State::Result(3pm) πŸ’–

Okay so the header line is out here calling her App::Pr...::Result(3pm) from the Perl Programmers Reference Guide, but bestie, her full name is App::Prove::State::Result. She's the little module that holds onto prove state like it's her emotional support hash. πŸ’…

🌸 NAME 🌸

App::Prove::State::Result β€” Individual test suite results. That's the whole name, and she is literally about the results of one individual test suite. πŸŽ€

πŸ¦‹ VERSION πŸ¦‹

This one's at Version 3.50, periodt. ✨

πŸ’« DESCRIPTION πŸ’«

Okay so the prove command has this --state option that literally instructs it to store persistent state across runs. This module encapsulates the results for a single test suite run. No cap, that's the whole vibe: one run, one result container, one little state queen. πŸ‘‘

🧚 SYNOPSIS 🧚

Want to re-run failed tests? Same, bestie. The glow-up looks like this:

# 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. Main character energy, honestly. 🫢

πŸ¦‹ state_version

Returns the current version of state storage. That's the whole method, iconic and to the point. πŸ’…

πŸŽ€ 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. Vibe check passed. 🧚

πŸ’« generation

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

🌸 last_run_time

Getter/setter for the time of the test suite run. Timestamp moment, lowkey. ⭐

πŸ“ tests

Returns the tests for a given generation. This is a hashref or a hash, depending on the context it's called in. 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. Bestie, it's giving β€œno test left behind.” πŸ’…

🌟 test_names

Returns a list of test names, sorted by run order. Order matters, periodt. πŸŽ€

πŸ’œ 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. Respect the removal, bestie. πŸ’€

⭐ num_tests

Returns the number of tests for a given test suite result. Count 'em up. ✨

🌸 raw

Returns a hashref of raw results, suitable for serialization by YAML. Raw and ready. πŸ’…


Okay that's the whole tea, bestie. This page is from perl v5.42.3, dated 2026-11-03, and the footer credits App::Pr...::Result(3pm) (yes, the truncated little icon). Stay slay, keep your state saved, and may your tests always pass. πŸ’–βœ¨

πŸ“¦ where this page comes from