App::Prove::State − State storage for the "prove" command.


Version 3.42


The "prove" command supports a "−−state" option that instructs it to store persistent state across runs. This module implements that state and the operations that may be performed on it.


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


Class Methods

Accepts a hashref with the following key/value pairs:


The filename of the data store holding the data that App::Prove::State reads.

"extensions" (optional)

The test name extensions. Defaults to ".t".

"result_class" (optional)

The name of the "result_class". Defaults to "App::Prove::State::Result".

Getter/setter for the name of the class used for tracking test results. This class should either subclass from "App::Prove::State::Result" or provide an identical interface.

Get or set the list of extensions that files must have in order to be considered tests. Defaults to [’.t’].

Get the results of the last test run. Returns a "result_class()" instance.

Save the test results. Should be called after all tests have run.

Instance Methods


Apply a list of switch options to the state, updating the internal object state as a result. Nothing is returned.

− "Illegal state option: %s"

Run in the same order as last time


Run only the failed tests from last time


Run only the passed tests from last time


Run all tests in normal order


Run the tests that most recently failed first


Run the tests ordered by number of todos.


Run the tests in slowest to fastest order.


Run test tests in fastest to slowest order.


Run the tests in newest to oldest order.


Run the tests in oldest to newest order.


Save the state on exit.


Given a list of args get the names of tests that should run


Store the results of a test.


Write the state to a file.


Load the state from a file