Extendable Interfaces
---------------------
There are several packages in the Test::AutoBuild code base that are designed to
be extended or replaced if you wish to do so.
Here is a list of the base packages and their public interfaces. When you
extend or replace any of these packages, you must make sure to provide
implementations of these methods.
package Test::AutoBuild::Stage;
sub new
IN A: class reference or class name
IN B: (possibly empty) flattened hash of parameters
ACTION: create a new stage object
OUT: stage object
sub option
IN A: class reference
IN B: string
IN C: (optional) scalar
ACTION: If C is provided, set the value of the option named A. This value
must persist until the object is destroyed or the value is reset
OUT: the value of the option named A (after setting it to C when applicable)
sub run
IN A: class reference
ACTION: Perform the action that this stage is meant to perform. It is
expected that the stage's status will be set before returning. It is
expected that the stage's start_time will be set to the time at which
the run method is called, and the stage's end_time will be set to the
time at which the run method exits. Finally, it is expected that the
stage will run each of its substages which are enabled.
OUT: A list: the first element is any true value upon success or any false
value upon failure. The second element in the list is optional. If
present, it is a string describing the outcome of the method call.
sub name
IN A: class reference
IN B: (optional) string
ACTION: set the stage's name to B if it is supplied.
OUT: the stage's name
sub label
IN A: class reference
IN B: (optional) string
ACTION: set the stage's label to B if it is supplied.
OUT: the stage's label
sub start_time
IN A: class reference
IN B: (optional) integer describing date in seconds since epoch
ACTION: set the stage's start_time to B if it is supplied.
OUT: the stage's start_time
sub end_time
IN A: class reference
IN B: (optional) integer describing date in seconds since epoch
ACTION: set the stage's end_time to B if it is supplied.
OUT: the stage's end_time
sub stages
IN A: class reference
IN B: (optional) reference to an array of Stage object references
ACTION: set the stage's list of substages to B if it is supplied.
OUT: the stage's list of substages
sub status
IN A: class reference
IN B: (optional) string - one of 'success', 'failure'
ACTION: set the stage's status to B if it is supplied.
OUT: the stage's status
sub is_critical
IN A: class reference
IN B: (optional) boolean value
ACTION: set the stage's criticalness to B if it is supplied.
OUT: the stage's criticalness
sub enabled
IN A: class reference
IN B: (optional) boolean value
ACTION: set the stage's enabled status to B if it is supplied.
OUT: the stage's enabled status