X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind%2FAction%2FSuppressions.pm;h=2ee894a15331e2287f186a545020cd770ccd1e23;hb=f2071d95aaaa4817e91cc33530deedc8d701d44d;hp=1d86ca8299646be9dd3890d249a83b0fe8fbc327;hpb=cea977523ce9c4be865b97a0813a5e14cce873f9;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/lib/Test/Valgrind/Action/Suppressions.pm b/lib/Test/Valgrind/Action/Suppressions.pm index 1d86ca8..2ee894a 100644 --- a/lib/Test/Valgrind/Action/Suppressions.pm +++ b/lib/Test/Valgrind/Action/Suppressions.pm @@ -9,11 +9,11 @@ Test::Valgrind::Action::Suppressions - Generate suppressions for a given tool. =head1 VERSION -Version 1.13 +Version 1.19 =cut -our $VERSION = '1.13'; +our $VERSION = '1.19'; =head1 DESCRIPTION @@ -27,7 +27,13 @@ use base qw; This class inherits L. -=head2 C<< new name => $name, target => $target, ... >> +=head2 C + + my $tvas = Test::Valgrind::Action::Suppressions->new( + name => $name, + target => $target, + %extra_args, + ); Your usual constructor. @@ -63,6 +69,8 @@ sub do_suppressions { 1 } =head2 C + my $name = $tvas->name; + Read-only accessor for the C option. =cut @@ -71,6 +79,8 @@ sub name { $_[0]->{name} } =head2 C + my $target = $tvas->target; + Read-only accessor for the C option. =cut @@ -135,17 +145,18 @@ sub finish { require File::Spec; my ($vol, $dir, $file) = File::Spec->splitpath($target); my $base = File::Spec->catpath($vol, $dir, ''); - unless (-e $base) { + if (-e $base) { + 1 while unlink $target; + } else { require File::Path; File::Path::mkpath([ $base ]); - } else { - 1 while unlink $target; } open my $fh, '>', $target or $self->_croak("open(\$fh, '>', \$self->target): $!"); - my (%seen, $id); + my $id = 0; + my %seen; for (sort { $a->data cmp $b->data } grep !$seen{$_->data}++, @{$self->{supps}}) { print $fh "{\n" @@ -188,7 +199,7 @@ You can find documentation for this module with the perldoc command. =head1 COPYRIGHT & LICENSE -Copyright 2009,2010,2011 Vincent Pit, all rights reserved. +Copyright 2009,2010,2011,2013,2015,2016 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.