1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
use strict;
use warnings;
use Test::More;
use Config;
use File::Spec;
use IO::CaptureOutput qw/capture/;
use lib 't/lib';
use DotDirs;
plan tests => 6 ;
#--------------------------------------------------------------------------#
# Setup test environment
#--------------------------------------------------------------------------#
# Setup CPAN::Reporter configuration and add mock lib path to @INC
$ENV{PERL_CPAN_REPORTER_DIR} = DotDirs->prepare_cpan_reporter;
# Setup CPAN dotdir with custom CPAN::MyConfig
DotDirs->prepare_cpan;
my ($stdout, $stderr);
my $list_file = File::Spec->catfile(qw/t data dist-list/);
#--------------------------------------------------------------------------#
# tests begin here
#--------------------------------------------------------------------------#
require_ok( 'CPAN::Reporter::Smoker' );
can_ok( 'CPAN::Reporter::Smoker', 'start' );
pass ("Starting simulated smoke testing");
local $ENV{PERL_CR_SMOKER_RUNONCE} = 1;
my $ran_ok;
$ran_ok = eval {
capture sub {
CPAN::Reporter::Smoker::start( list => $list_file )
} => \$stdout, \$stderr;
1;
};
ok( $ran_ok, "Finished simulated smoke testing" ) or diag $@;
# check non-blank lines for expected count
open my $dist_file, "<", $list_file;
my @lines = grep { /\S/ } <$dist_file>;
close $dist_file;
require_ok( 'CPAN::Reporter::History' );
my @results = CPAN::Reporter::History::have_tested();
is( scalar @results, scalar @lines, "Number of reports in history" );
|