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