Skip to content

Commit

Permalink
Merge pull request #369 from nnutter/master
Browse files Browse the repository at this point in the history
fix bug when test_fail is called via a do statement (for 0.98 series)
  • Loading branch information
schwern committed Apr 21, 2013
2 parents 74efe12 + 1d69410 commit 446707d
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/Test/Builder/Tester.pm
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ sub test_fail {
$line = $line + ( shift() || 0 ); # prevent warnings

# expect that on stderr
$err->expect("# Failed test ($0 at line $line)");
$err->expect("# Failed test ($filename at line $line)");
}

=item test_diag
Expand Down
21 changes: 21 additions & 0 deletions t/Tester/tbt_09do.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/perl

use strict;
use warnings;

use Test::Builder::Tester tests => 3;
use Test::More;
use File::Basename qw(dirname);
use File::Spec qw();

my $file = File::Spec->join(dirname(__FILE__), 'tbt_09do_script.pl');
my $done = do $file;
ok(defined($done), 'do succeeded') or do {
if ($@) {
diag qq( \$@ is '$@'\n);
} elsif ($!) {
diag qq( \$! is '$!'\n);
} else {
diag qq( file's last statement returned undef: $file)
}
};
13 changes: 13 additions & 0 deletions t/Tester/tbt_09do_script.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/perl

use strict;
use warnings;

isnt($0, __FILE__, 'code is not executing directly');

test_out("not ok 1 - one");
test_fail(+1);
ok(0,"one");
test_test('test_fail caught fail message inside a do');

1;

0 comments on commit 446707d

Please sign in to comment.