]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/blobdiff - lib/Test/Valgrind/Tool/memcheck.pm
Tools can only be run in one session at a time by default
[perl/modules/Test-Valgrind.git] / lib / Test / Valgrind / Tool / memcheck.pm
index 20a3ff39abb62ae96b63f0c54bd0a032fbe99c4f..15b65870c7231724e24afc7e57a253c6829e43f6 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Tool::memcheck - Run an analysis through the memcheck tool.
 
 =head1 VERSION
 
-Version 1.01
+Version 1.02
 
 =cut
 
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 
 =head1 DESCRIPTION
 
@@ -121,9 +121,6 @@ sub _session { @_ <= 1 ? $_[0]->{_session} : ($_[0]->{_session} = $_[1]) }
 sub start {
  my ($self, $sess) = @_;
 
- $self->_croak('This memcheck tool can\'t be run in two sessions at once')
-                                                             if $self->_session;
-
  $self->SUPER::start($sess);
  $self->_session($sess);
 
@@ -144,7 +141,7 @@ sub finish {
  my ($self, $sess) = @_;
 
  $self->_session(undef);
- $self->SUPER::start($sess);
+ $self->SUPER::finish($sess);
 
  return;
 }
@@ -186,7 +183,7 @@ package Test::Valgrind::Tool::memcheck::Report;
 
 use base qw/Test::Valgrind::Report/;
 
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 
 my @kinds = qw/
  InvalidFree
@@ -258,7 +255,7 @@ sub dump {
 
 package Test::Valgrind::Tool::memcheck::Twig;
 
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 
 use Scalar::Util;
 
@@ -323,13 +320,14 @@ sub handle_error {
                                      $origin->kid('stack')->children('frame') ];
  }
 
- my $report = Test::Valgrind::Tool::memcheck::Report->new(
+ my $tool = $twig->stash->{tool};
+ my $sess = $tool->_session;
+
+ $sess->report($tool->report_class($sess)->new(
   kind => $kind,
   id   => $id,
   data => $data,
- );
-
- $twig->stash->{tool}->_session->report($report);
+ ));
 
  $twig->purge;
 }
@@ -338,7 +336,7 @@ sub handle_error {
 
 package Test::Valgrind::Tool::memcheck::Twig::Elt;
 
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 
 BEGIN { require XML::Twig; }