=head1 SYNOPSIS
use SmokeRunner::Multi;
my $runner = SmokeRunner::Multi->new();
$runner->run_and_report_next_set();
=head1 DESCRIPTION
This distribution was created to help manage the running of automated
tests across multiple branches or checkouts.
Each branch is called a "test set", and sets are ordered based on
various criteria. This class provide a high-level interface for
getting the next set, running its tests, and reporting on them.
Also see the F<smokerunner-multi> script that comes with this
distribution.
=head1 METHODS/FUNCTIONS
This class provides the following methods:
=head2 SmokeRunner::Multi->new()
Creates a new object.
=head2 $smoker->next_set()
Returns the next test set to be run.
=head2 $smoker->run_and_report_next_set()
This is a convenience method that can be used to run and report on the
next test set in a single step.
As a convenience (mostly for testing), it returns the reporter object
it creates internally.
=head2 $smoker->make_runner( ... )
This is a convenience method for making a
C<SmokeRunner::Multi::Runner> object of the class specified in the
config file. Any parameters passed to this method will be passed on to
the Runner class's constructor.
=head2 $smoker->make_reporter( ... )
This is a convenience method for making a
C<SmokeReporter::Multi::Reporter> object of the class specified in the
config file. Any parameters passed to this method will be passed on to
the Reporter class's constructor.
=head1 CONFIGURATION
See L<SmokeRunner::Multi::Config> for details on configuring the smoke
runner. You need to create a minimal config file to do much of
anything.
=head1 SEE ALSO
See the other classes in this distribution for more information:
L<SmokeRunner::Multi::TestSet>, L<SmokeRunner::Multi::Runner>,
L<SmokeRunner::Multi::Reporter>, and L<SmokeRunner::Multi::Config>.