X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind%2FParser%2FSuppressions%2FText.pm;h=a3c7b6261a0a33973d58798c344981c24ac2d6ad;hb=8a3289dfc8449aed2d53e35c52c269009630293e;hp=bd75917ba89b6adad51cb2c67ab66f24ac94210d;hpb=d93ddba6bc7708cbd0df564b47eb63edf70d601c;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 bd75917..a3c7b62 100644 --- a/lib/Test/Valgrind/Parser/Suppressions/Text.pm +++ b/lib/Test/Valgrind/Parser/Suppressions/Text.pm @@ -9,11 +9,11 @@ Test::Valgrind::Parser::Suppressions::Text - Parse valgrind suppressions output =head1 VERSION -Version 1.14 +Version 1.18 =cut -our $VERSION = '1.14'; +our $VERSION = '1.18'; =head1 DESCRIPTION @@ -45,7 +45,13 @@ sub parse { while (<$fh>) { s/^\s*#\s//; # Strip comments - next if /^==/; # Valgrind info line + if (/^==/) { # Valgrind info line + if (/Signal 11 being dropped from thread/) { + # This might loop endlessly + return 1; + } + next; + } s/^\s*//; # Strip leading spaces s/<[^>]+>//; # Strip tags @@ -55,7 +61,6 @@ sub parse { if ($_ eq '{') { # A suppression block begins $in = 1; } elsif ($_ eq '}') { # A suppression block ends - $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; @@ -103,6 +108,8 @@ sub parse { kind => 'Suppression', data => $_, )) for @supps, @extra; + + return 0; } =head1 SEE ALSO