NAME
POE::Component::SmokeBox::Backend::Base - Base class for Backend smokers.
VERSION
version 0.58
SYNOPSIS
package POE::Component::SmokeBox::Backend::Example;
use strict;
use warnings;
use base qw(POE::Component::SmokeBox::Backend::Base);
sub _data {
my $self = shift;
$self->{_data} =
{
check => [ '-MSome::Funky::Module', '-e', '1' ],
index => [ '-MSome::Funky::Module', '-e', 'reload_indices();' ],
smoke => [ '-MSome::Funky::Module', '-e', 'my $module = shift; test($module);' ],
digest => qr/Some pattern to match/,
};
return;
}
DESCRIPTION
POE::Component::SmokeBox::Backend::Base is a base class for POE::Component::SmokeBox::Backend smoker definitions. The idea is to inherit this base class and overload the definition for the _data
method to define the applicable command line arguments for check
, index
and smoke
commands that POE::Component::SmokeBox::Backend uses.
CONSTRUCTOR
new
-
Creates a new POE::Component::SmokeBox::Backend::* object.
METHODS
check
-
Returns an arrayref of command line options that get passed to
perl
to check that a particular module is installed.[ '-MSome::Funky::Module', '-e', '1' ]
index
-
Returns an arrayref of command line options that get passed to
perl
to perform a reindex of the module database that a smoker uses.[ '-MSome::Funky::Module', '-e', 'reload_indices();' ]
smoke
-
Returns an arrayref of command line options that get passed to
perl
to actually test a distribution in a smoker. The distribution to smoke will be passed as $ARGV[0].[ '-MSome::Funky::Module', '-e', 'my $module = shift; test($module);' ]
digest
-
Returns a regular expression pattern that is used to match against smoker output. If the pattern is matched then the digests for detecting looping output are reset.
_data
-
An internal method that gets called from
new()
to initialise the internal data of the object. Overload this method to set your data in sub-classes.
SEE ALSO
POE::Component::SmokeBox::Backend
POE::Component::SmokeBox::Backend::CPAN::YACSmoke
POE::Component::SmokeBox::Backend::CPAN::Reporter
POE::Component::SmokeBox::Backend::CPANPLUS::YACSmoke
AUTHOR
Chris Williams <chris@bingosnet.co.uk>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Chris Williams.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.