t9700: Use Test::More->builder, not $Test::Builder::Test

$Test::Builder::Test was only made into an `our' variable in 0.94
released in September 2009, older distros are more likely to have 0.92
or earlier. Use the singleton Test::More->builder constructor instead.

The exit() call was also unportable to <0.94. Just output a meaningful
exit code if the ->is_passing method exists. The t9700-perl-git.sh
test only cares about stderr output, so this doesn't affect test
results when using older Test::More modules.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2010-06-26 12:42:41 +00:00 committed by Junio C Hamano
parent 335f87871f
commit 635155fa3d

View File

@ -10,8 +10,8 @@ use Test::More qw(no_plan);
BEGIN {
# t9700-perl-git.sh kicks off our testing, so we have to go from
# there.
$Test::Builder::Test->{Curr_Test} = 1;
$Test::Builder::Test->{No_Ending} = 1;
Test::More->builder->{Curr_Test} = 1;
Test::More->builder->{No_Ending} = 1;
}
use Cwd;
@ -113,6 +113,7 @@ like($last_commit, qr/^[0-9a-fA-F]{40}$/, 'rev-parse returned hash');
my $dir_commit = $r2->command_oneline('log', '-n1', '--pretty=format:%H', '.');
isnt($last_commit, $dir_commit, 'log . does not show last commit');
printf "1..%d\n", $Test::Builder::Test->{Curr_Test};
printf "1..%d\n", Test::More->builder->{Curr_Test};
exit($Test::Builder::Test->{Is_Passing} ? 0 : 1);
my $is_passing = eval { Test::More->is_passing };
exit($is_passing ? 0 : 1) unless $@ =~ /Can't locate object method/;