1*5759b3d2Safresh1use strict; 2*5759b3d2Safresh1use warnings; 3*5759b3d2Safresh1 4*5759b3d2Safresh1use Test::More; 5*5759b3d2Safresh1use Test2::API qw/intercept/; 6*5759b3d2Safresh1 7*5759b3d2Safresh1my @warnings; 8*5759b3d2Safresh1 9*5759b3d2Safresh1intercept { 10*5759b3d2Safresh1 SKIP: { 11*5759b3d2Safresh1 local $SIG{__WARN__} = sub { @warnings = @_ }; 12*5759b3d2Safresh1 skip 'Skipping this test' if 1; 13*5759b3d2Safresh1 my $var = 'abc'; 14*5759b3d2Safresh1 is $var, 'abc'; 15*5759b3d2Safresh1 } 16*5759b3d2Safresh1}; 17*5759b3d2Safresh1 18*5759b3d2Safresh1ok(!@warnings, "did not warn when waiting for done_testing"); 19*5759b3d2Safresh1 20*5759b3d2Safresh1intercept { 21*5759b3d2Safresh1 SKIP: { 22*5759b3d2Safresh1 local $SIG{__WARN__} = sub { @warnings = @_ }; 23*5759b3d2Safresh1 plan 'no_plan'; 24*5759b3d2Safresh1 skip 'Skipping this test' if 1; 25*5759b3d2Safresh1 my $var = 'abc'; 26*5759b3d2Safresh1 is $var, 'abc'; 27*5759b3d2Safresh1 } 28*5759b3d2Safresh1}; 29*5759b3d2Safresh1 30*5759b3d2Safresh1ok(!@warnings, "did not warn with 'no_plan'"); 31*5759b3d2Safresh1 32*5759b3d2Safresh1intercept { 33*5759b3d2Safresh1 SKIP: { 34*5759b3d2Safresh1 local $SIG{__WARN__} = sub { @warnings = @_ }; 35*5759b3d2Safresh1 plan tests => 1; 36*5759b3d2Safresh1 skip 'Skipping this test' if 1; 37*5759b3d2Safresh1 my $var = 'abc'; 38*5759b3d2Safresh1 is $var, 'abc'; 39*5759b3d2Safresh1 } 40*5759b3d2Safresh1}; 41*5759b3d2Safresh1 42*5759b3d2Safresh1is(@warnings, 1, "warned with static plan"); 43*5759b3d2Safresh1like( 44*5759b3d2Safresh1 $warnings[0], 45*5759b3d2Safresh1 qr/skip\(\) needs to know \$how_many tests are in the block/, 46*5759b3d2Safresh1 "Got expected warning" 47*5759b3d2Safresh1); 48*5759b3d2Safresh1 49*5759b3d2Safresh1done_testing; 50