]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/blobdiff - t/30-bad.t
t/30-bad.t is only TODO for non-debugging perls
[perl/modules/Test-Valgrind.git] / t / 30-bad.t
index a86ccbb126b2b3f1ed348aac837dbec4b5c9a744..0ac01296e5d79285d479b170640ccffb3b1cd825 100644 (file)
@@ -7,10 +7,24 @@ 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 ($@) {
+   $dbg = 0;
+  } else {
+   my $ret = eval "Test::Valgrind::DEBUGGING()";
+   $dbg = $@ ? 0 : $ret;
+  }
+ }
  if ($desc =~ /still\s+reachable/) {
   $passed = $a >= 9900 && $a < 10100;
   if ($dbg) {
@@ -29,17 +43,20 @@ 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;';
+ eval "
+  use lib qw{blib/arch};
+  require XSLoader;
+  XSLoader::load('Test::Valgrind', \$Test::Valgrind::VERSION);
+ ";
  if ($@) {
-  plan skip_all => 'Test::Valgrind is required to run test your distribution with valgrind';
+  diag $@;
+  plan skip_all => "XS test code not available";
  } else {
   Test::Valgrind::leak();
  }