The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

POE::Component::SmokeBox::Backend::Base - Base class for Backend smokers.

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);' ],
    };
    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);' ]
_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.

AUTHOR

Chris BinGOs Williams <chris@bingosnet.co.uk>

LICENSE

Copyright (c) Chris Williams.

This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.

SEE ALSO

POE::Component::SmokeBox::Backend

POE::Component::SmokeBox::Backend::CPAN::YACSmoke

POE::Component::SmokeBox::Backend::CPAN::Reporter

POE::Component::SmokeBox::Backend::CPANPLUS::YACSmoke