X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind%2FSession.pm;h=47150e1a86208ab0fdb6bb1daa6d629399c7d23f;hb=f229eb96e8c03a16ac13b617542554b44023c510;hp=c7485f18c14af68426b31c46d75355bb460e92b8;hpb=37e0b9637065430b7c6633ab2b6d00c805ae3419;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/lib/Test/Valgrind/Session.pm b/lib/Test/Valgrind/Session.pm index c7485f1..47150e1 100644 --- a/lib/Test/Valgrind/Session.pm +++ b/lib/Test/Valgrind/Session.pm @@ -22,15 +22,13 @@ It also acts as a dispatcher between the different components. =cut -# All these modules are required at configure time. +use File::Spec (); +use Scalar::Util (); -BEGIN { - require File::Spec; - require Scalar::Util; +use Fcntl (); # F_SETFD +use POSIX (); # SIGKILL - require Fcntl; # F_SETFD - require POSIX; # SIGKILL -} +use version (); use base qw/Test::Valgrind::Carp/; @@ -78,11 +76,6 @@ Defaults to none. =cut -my $build_version = sub { - require version; - version->new($_[0]); -}; - sub new { my $class = shift; $class = ref($class) || $class; @@ -90,7 +83,7 @@ sub new { my %args = @_; my @paths; - my $vg = delete $args{vg}; + my $vg = delete $args{valgrind}; if (defined $vg and not ref $vg) { @paths = ($vg); } else { @@ -103,7 +96,7 @@ sub new { $class->_croak('Empty valgrind candidates list') unless @paths; my $min_version = delete $args{min_version}; - defined and not ref and $_ = $build_version->($_) for $min_version; + defined and not ref and $_ = version->new($_) for $min_version; my ($valgrind, $version); for (@paths) { @@ -111,7 +104,7 @@ sub new { my $ver = qx/$_ --version/; if ($ver =~ /^valgrind-(\d+(\.\d+)*)/) { if ($min_version) { - $version = $build_version->($1); + $version = version->new($1); next if $version < $min_version; } else { $version = $1; @@ -149,7 +142,7 @@ sub version { my ($self) = @_; my $version = $self->{version}; - $self->{version} = $version = $build_version->($version) unless ref $version; + $self->{version} = $version = version->new($version) unless ref $version; return $version; } @@ -284,6 +277,10 @@ Read-only accessor for the C associated to the current run. Read-only accessor for the C associated to the current run. +=head2 C + +Read-only accessor for the C associated to the current tool. + =head2 C Read-only accessor for the C associated to the current run. @@ -388,7 +385,7 @@ sub start { delete @{$self}{qw/last_status exit_code/}; $self->tool->start($self); - $self->parser($self->tool->parser_class->new)->start($self); + $self->parser($self->tool->parser_class($self)->new)->start($self); $self->action->start($self); return;