| 12
 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
 
 | #!/usr/bin/perl -w
# What if there's a plan and done_testing but they don't match?
use strict;
BEGIN {
    if( $ENV{PERL_CORE} ) {
        chdir 't';
        @INC = ('../lib', 'lib');
    }
    else {
        unshift @INC, 't/lib';
    }
}
use Test::Builder;
use Test::Builder::NoOutput;
my $tb = Test::Builder::NoOutput->create;
# TB methods expect to be wrapped
sub ok { $tb->ok(@_) }
sub plan { $tb->plan(@_) }
sub done_testing { $tb->done_testing(@_) }
{
    # Normalize test output
    local $ENV{HARNESS_ACTIVE};
    plan( tests => 3 );
    ok(1);
    ok(1);
    ok(1);
#line 24
    done_testing(2);
}
my $Test = Test::Builder->new;
$Test->plan( tests => 1 );
$Test->level(0);
$Test->is_eq($tb->read, <<"END");
1..3
ok 1
ok 2
ok 3
not ok 4 - planned to run 3 but done_testing() expects 2
#   Failed test 'planned to run 3 but done_testing() expects 2'
#   at $0 line 24.
END
 |