X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F30-bad.t;h=7ceb62c8fb490340a1dee29b0faa019bf2953384;hb=550ce3f06282d07682d0816234855efee985aa9a;hp=f3313b06d04a5ea81fb35657dfe61e231a6d5669;hpb=62b584c5dfcafeecf8afa55570eef9b3106f0f3d;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/t/30-bad.t b/t/30-bad.t index f3313b0..7ceb62c 100644 --- a/t/30-bad.t +++ b/t/30-bad.t @@ -3,14 +3,29 @@ use strict; use warnings; -use Config qw/%Config/; - use Test::More; +my $dbg; + sub tester { my ($a, $desc) = @_; my $passed; - my $dbg = eval "Test::Valgrind::DEBUGGING()"; + if (!defined $dbg) { + eval " + use lib qw{blib/arch}; + require XSLoader; + XSLoader::load('Test::Valgrind', \$Test::Valgrind::VERSION); + "; + if ($@) { + my $err = $@; + $dbg = 0; + chomp $err; + diag "XS test code not available ($err)"; + } else { + my $ret = eval "Test::Valgrind::DEBUGGING()"; + $dbg = $@ ? 0 : $ret; + } + } if ($desc =~ /still\s+reachable/) { $passed = $a >= 9900 && $a < 10100; if ($dbg) { @@ -40,10 +55,7 @@ if ($@) { require XSLoader; XSLoader::load('Test::Valgrind', \$Test::Valgrind::VERSION); "; - if ($@) { - diag $@; - plan skip_all => "XS test code not available"; - } else { + unless ($@) { Test::Valgrind::leak(); } }