Test::Smoke::Smoker - OO interface to do one smoke cycle.
use Test::Smoke; use Test::Smoke::Smoker; open LOGFILE, "> mktest.out" or die "Cannot create 'mktest.out': $!"; my $buildcfg = Test::SmokeBuildCFG->new( $conf->{cfg} ); my $policy = Test::Smoke::Policy->new( '../', $conf->{v} ); my $smoker = Test::Smoke::Smoker->new( \*LOGFILE, $conf ); foreach my $config ( $buildcfg->configurations ) { $smoker->smoke( $config, $policy ); }
new() takes a mandatory (opened) filehandle and some other options:
new()
ddir build directory fdir The forest source v verbose level: 0..2 defaultenv 'make test' without $ENV{PERLIO} is56x skip the PerlIO stuff? locale do another testrun with $ENV{LC_ALL} force_c_locale set $ENV{LC_ALL} = 'C' for all smoke runs is_win32 is this MSWin32? w32cc the CCTYPE for MSWin32 (MSVCxx BORLAND GCC) w32make the maker to use for CCTYPE
config() is an interface to the package lexical %CONFIG, which holds all the default values for the new() arguments.
config()
%CONFIG
With the special key all_defaults this returns a reference to a hash holding all the default values.
Prints a message to the default filehandle.
Prints a message to the logfile, filehandle.
Prints a message to both the default and the logfile filehandles.
smoke() takes a Test::Smoke::BuildCFG::Config object and runs all the basic steps as (private) object methods.
smoke()
make_distclean() runs make -i distclean 2>/dev/null
make_distclean()
make -i distclean 2>/dev/null
handle_policy() will try to apply the substition rules and then write the file Policy.sh.
handle_policy()
Configure() sorts out the MSWin32 mess and calls ./Configure
Configure()
returns true if a makefile was created
make_() will run make.
make_()
returns true if a perl executable is found
Run make test-perp and check if t/perl exists.
make test-perp
make was unable to build a perl executable, but managed to build miniperl, so we do make minitest.
make
make minitest
run() returns qx( $command ) unless $sub is specified. If $sub is defined (and a coderef) $sub->( $command, @args ) will be called.
run()
qx( $command )
$sub
$sub->( $command, @args )
_make() calls run( "make $command" ), and does some extra stuff to help MSWin32 (the right maker, the directory).
_make()
run( "make $command" )
Test::Smoke
(c) 2002-2003, All rights reserved.
* Abe Timmerman <abeltje@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See:
http://www.perl.com/perl/misc/Artistic.html
http://www.gnu.org/copyleft/gpl.html
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
To install Test::Smoke, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::Smoke
CPAN shell
perl -MCPAN -e shell install Test::Smoke
For more information on module installation, please visit the detailed CPAN module installation guide.