X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind%2FParser%2FSuppressions%2FText.pm;h=6eb2dfcf54b2e44da1b537066bfa64e78a478e2b;hb=ad65b4599d66c8cc26dedada4d994aa8faebfcd7;hp=d84adbf2ac4b112c66a44ccfad7905f343bca215;hpb=01ace0ff88ffd8fb63dfebcc3b8a8baaf9e0df25;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/lib/Test/Valgrind/Parser/Suppressions/Text.pm b/lib/Test/Valgrind/Parser/Suppressions/Text.pm index d84adbf..6eb2dfc 100644 --- a/lib/Test/Valgrind/Parser/Suppressions/Text.pm +++ b/lib/Test/Valgrind/Parser/Suppressions/Text.pm @@ -9,18 +9,20 @@ Test::Valgrind::Parser::Suppressions::Text - Parse valgrind suppressions output =head1 VERSION -Version 1.02 +Version 1.11 =cut -our $VERSION = '1.02'; +our $VERSION = '1.11'; =head1 DESCRIPTION -This is a L object that can extract suppressions from C's text output. +This is a L object that can extract suppressions from C's text output. =cut +use Test::Valgrind::Suppressions; + use base qw/Test::Valgrind::Parser::Text Test::Valgrind::Carp/; =head1 METHODS @@ -34,12 +36,6 @@ Their C member contains the raw text of the suppression. sub report_class { 'Test::Valgrind::Report::Suppressions' } -=head2 C - -Parses the filehandle C<$fh> fed with the output of F and sends a report to the session C<$session> for each suppression. - -=cut - sub parse { my ($self, $sess, $fh) = @_; @@ -60,13 +56,7 @@ sub parse { if ($_ eq '{') { # A suppression block begins $in = 1; } elsif ($_ eq '}') { # A suppression block ends - # With valgrind 3.4.0, we can replace unknown series of frames by '...' - if ($sess->version ge '3.4.0') { - my $unknown_tail; - ++$unknown_tail while $s =~ s/(\n)\s*obj:\*\s*$/$1/; - $s .= "...\n" if $unknown_tail; - } - + $s = Test::Valgrind::Suppressions->strip_tail($sess, $s); # Strip the tail push @supps, $s; # Add the suppression that just ended to the list $s = ''; # Reset the state $in = 0;