use strict;
use warnings;
-use Config qw/%Config/;
-
use Test::More;
my $dbg;
sub tester {
- my ($a, $desc) = @_;
+ my ($num, $desc) = @_;
my $passed;
if (!defined $dbg) {
eval "
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 ($desc =~ /definitely\s+lost/) {
+ $passed = $num >= 9900 && $num < 10100;
if ($dbg) {
ok($passed, $desc);
+ diag " Got $num instead of 0." unless $passed;
} else {
TODO: {
local $TODO = "Leak count may be off on non-debugging perls";
ok($passed, $desc);
}
- return 1;
+ $passed = 1;
}
} else {
- $passed = defined $a && $a == 0;
- is($a, 0, $desc);
+ $passed = defined $num && $num == 0;
+ is($num, 0, $desc);
}
return $passed;
}
require XSLoader;
XSLoader::load('Test::Valgrind', \$Test::Valgrind::VERSION);
";
- if ($@) {
- diag $@;
- plan skip_all => "XS test code not available";
- } else {
+ unless ($@) {
Test::Valgrind::leak();
}
}