X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind.pm;h=dd367da5b55646e4820bafdebb0e35a08714a5b3;hb=7afc3697a183708c5c8efe99ebd40c01e173e0b1;hp=506e11fae0ad25e09e5da5ddced3733f2a68418b;hpb=d685884acaef843ed4ce04a48d7da565d52280fb;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/lib/Test/Valgrind.pm b/lib/Test/Valgrind.pm index 506e11f..dd367da 100644 --- a/lib/Test/Valgrind.pm +++ b/lib/Test/Valgrind.pm @@ -17,11 +17,11 @@ Test::Valgrind - Test Perl code through valgrind. =head1 VERSION -Version 0.03 +Version 0.04 =cut -our $VERSION = '0.03'; +our $VERSION = '0.04'; =head1 SYNOPSIS @@ -88,20 +88,22 @@ sub import { $file = $next; } return if not $file or $file eq '-e'; - my $valgrind; - for (split /:/, $ENV{PATH}) { - my $vg = $_ . '/valgrind'; - if (-x $vg) { - $valgrind = $vg; - last; - } - } - if (!$valgrind) { - plan skip_all => 'No valgrind executable could be found in your path'; - return; - } my $callers = $args{callers} || 50; $callers = int $callers; + my $vg = Test::Valgrind::Suppressions::VG_PATH; + if (!$vg || !-x $vg) { + for (split /:/, $ENV{PATH}) { + $_ .= '/valgrind'; + if (-x) { + $vg = $_; + last; + } + } + if (!$vg) { + plan skip_all => 'No valgrind executable could be found in your path'; + return; + } + } pipe my $rdr, my $wtr or croak "pipe(\$rdr, \$wtr): $!"; my $pid = fork; if (!defined $pid) { @@ -131,7 +133,6 @@ sub import { print STDERR "valgrind @args\n" if $args{diag}; local $ENV{PERL_DESTRUCT_LEVEL} = 3; local $ENV{PERL_DL_NONLAZY} = 1; - my $vg = Test::Valgrind::Suppressions::VG_PATH; exec $vg, @args if $vg and -x $vg; } close $wtr or croak "close(\$wtr): $!";