#!perl use strict; BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } } select(STDERR); $|=1; select(STDOUT); $|=1; use Test::More; use t::MockCPANDist; use t::Helper; use t::Frontend; use Config; use Probe::Perl; #--------------------------------------------------------------------------# # Fixtures #--------------------------------------------------------------------------# my $make = $Config{make}; my $perl = Probe::Perl->find_perl_interpreter(); my $mock_dist = t::MockCPANDist->new( pretty_id => "JOHNQP/Bogus-Module-1.23.tar.gz", prereq_pm => { 'File::Spec' => 0, }, author_id => "JOHNQP", author_fullname => "John Q. Public", ); my @cases = ( { label => "send_PL_report 'no'", name => "PL-Fail", version => 1.23, grade => "fail", phase => "PL", command => "$perl Makefile.PL", will_send => 0, options => { send_report => "yes", send_PL_report => "no", }, }, { label => "send_make_report 'no'", label => "first make failure", name => "make-Fail", version => 1.23, grade => "fail", phase => "make", command => "$make", will_send => 0, options => { send_report => "yes", send_make_report => "no", }, }, { label => "send_test_report 'no'", name => "t-Fail", grade => "fail", phase => "test", command => "$make test", will_send => 0, options => { send_report => "yes", send_test_report => "no", }, }, { label => "send_PL_report 'yes'", name => "PL-Fail", version => 1.23, grade => "fail", phase => "PL", command => "$perl Makefile.PL", will_send => 1, options => { send_report => "no", send_PL_report => "yes", }, }, { label => "send_make_report 'yes'", label => "first make failure", name => "make-Fail", version => 1.23, grade => "fail", phase => "make", command => "$make", will_send => 1, options => { send_report => "no", send_make_report => "yes", }, }, { label => "send_test_report 'yes'", name => "t-Fail", grade => "fail", phase => "test", command => "$make test", will_send => 1, options => { send_report => "no", send_test_report => "yes", }, }, ); my $expected_history_lines = 1; # opening comment line for my $c ( @cases ) { $expected_history_lines++ if not $c->{is_dup} } plan tests => 1 + @cases * ( test_fake_config_plan() + test_dispatch_plan() ); #--------------------------------------------------------------------------# # tests #--------------------------------------------------------------------------# require_ok('CPAN::Reporter'); my @results; for my $case ( @cases ) { $case->{dist} = $mock_dist; test_fake_config( %{$case->{options}} ); test_dispatch( $case, will_send => $case->{will_send}, ); }