X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F30-bad.t;h=34e41b7569772064c5ac5a3447bc017a7f4ee6cf;hb=f278a7fb2653409cf7a085f93a0fe6c3874ad646;hp=a86ccbb126b2b3f1ed348aac837dbec4b5c9a744;hpb=f6f6b610f4471652428707ae0203563eae291669;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/t/30-bad.t b/t/30-bad.t index a86ccbb..34e41b7 100644 --- a/t/30-bad.t +++ b/t/30-bad.t @@ -7,10 +7,27 @@ 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) { @@ -29,18 +46,18 @@ sub tester { return $passed; } -eval { - require XSLoader; - XSLoader::load('Test::Valgrind', 0.051); -}; +use lib qw{blib/archpub}; +eval 'use Test::Valgrind cb => \&tester'; if ($@) { - plan skip_all => "XS test code not available ($@)"; + diag $@; + plan skip_all => 'Test::Valgrind is required to run test your distribution with valgrind'; } else { - use lib qw{blib/archpub}; - eval 'use Test::Valgrind cb => \&tester;'; - if ($@) { - plan skip_all => 'Test::Valgrind is required to run test your distribution with valgrind'; - } else { + eval " + use lib qw{blib/arch}; + require XSLoader; + XSLoader::load('Test::Valgrind', \$Test::Valgrind::VERSION); + "; + unless ($@) { Test::Valgrind::leak(); } }