xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1#!/usr/bin/perl -w
2
3use strict;
4BEGIN {
5    if( $ENV{PERL_CORE} ) {
6        chdir 't';
7        @INC = ('../lib', 'lib');
8    }
9    else {
10        unshift @INC, 't/lib';
11    }
12}
13
14use Test::Builder;
15use Test::Builder::NoOutput;
16
17my $tb = Test::Builder::NoOutput->create;
18
19# $tb methods expect to be wrapped in at least 1 sub
20sub done_testing { $tb->done_testing(@_) }
21sub ok { $tb->ok(@_) }
22
23{
24    # Normalize test output
25    local $ENV{HARNESS_ACTIVE};
26
27    ok(1);
28    ok(1);
29    ok(1);
30
31#line 24
32    done_testing(3);
33    done_testing;
34    done_testing;
35}
36
37my $Test = Test::Builder->new;
38$Test->plan( tests => 1 );
39$Test->level(0);
40$Test->is_eq($tb->read, <<"END", "multiple done_testing");
41ok 1
42ok 2
43ok 3
441..3
45not ok 4 - done_testing() was already called at $0 line 24
46#   Failed test 'done_testing() was already called at $0 line 24'
47#   at $0 line 25.
48not ok 5 - done_testing() was already called at $0 line 24
49#   Failed test 'done_testing() was already called at $0 line 24'
50#   at $0 line 26.
51END
52