]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/blobdiff - lib/Test/Valgrind/Suppressions.pm
Always strip wildcard frames at the end of a suppression
[perl/modules/Test-Valgrind.git] / lib / Test / Valgrind / Suppressions.pm
index 800a7c79bc94c5ed87a68f2d997e7e50307c5edc..fde934c050948e0a047b554664483b029364c1e7 100644 (file)
@@ -88,6 +88,26 @@ sub generate {
  return $status;
 }
 
+=head2 C<strip_tail $session, $suppression>
+
+Removes all wildcard frames at the end of the suppression.
+Moreover, C<'...'> is appended when C<valgrind> C<3.4.0> or higher is used.
+Returns the mangled suppression.
+
+=cut
+
+sub strip_tail {
+ shift;
+
+ my ($sess, $supp) = @_;
+
+ 1 while $supp =~ s/[^\r\n]*:\s*\*\s*$//;
+ # With valgrind 3.4.0, we can replace unknown series of frames by '...'
+ $supp .= "...\n" if $sess->version ge '3.4.0';
+
+ $supp;
+}
+
 =head1 SEE ALSO
 
 L<Test::Valgrind>, L<Test::Valgrind::Command>, L<Test::Valgrind::Tool>, L<Test::Valgrind::Action::Suppressions>.