NAME
POE::Component::SmokeBox::Backend::Base - Base class for Backend smokers.
VERSION
version 0.58
SYNOPSIS
use
strict;
use
warnings;
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
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.