xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Legacy/Bugs/629.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
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