X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind%2FCommand%2FPerl.pm;h=494c1442a77da7c46a630b9de2792c22e395b1e3;hb=77d53e292f2fdac4991d1d6c140f1edd79ff3afa;hp=6e39550e0869264ffa1fb0d14c3c4548910a8bf0;hpb=dd7e7df5cf3474dce1f29ee510b1a1659e6751e7;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/lib/Test/Valgrind/Command/Perl.pm b/lib/Test/Valgrind/Command/Perl.pm index 6e39550..494c144 100644 --- a/lib/Test/Valgrind/Command/Perl.pm +++ b/lib/Test/Valgrind/Command/Perl.pm @@ -9,25 +9,37 @@ Test::Valgrind::Command::Perl - A Test::Valgrind command that invokes perl. =head1 VERSION -Version 1.01 +Version 1.13 =cut -our $VERSION = '1.01'; +our $VERSION = '1.13'; =head1 DESCRIPTION +This command is the base for all C-based commands. +It handles the suppression generation and sets the main command-line flags. + =cut use Env::Sanctify (); -use base qw/Test::Valgrind::Command Test::Valgrind::Carp/; +use Test::Valgrind::Suppressions; + +use base qw; =head1 METHODS This class inherits L. -=head2 C<< new perl => $^X, inc => \@INC, taint_mode => $taint_mode, ... >> +=head2 C + + my $tvcp = Test::Valgrind::Command::Perl->new( + perl => $^X, + inc => \@INC, + taint_mode => $taint_mode, + %extra_args, + ); The package constructor, which takes several options : @@ -102,6 +114,8 @@ sub new_trainer { =head2 C + my $perl = $tvcp->perl; + Read-only accessor for the C option. =cut @@ -110,6 +124,8 @@ sub perl { $_[0]->{perl} } =head2 C + my @inc = $tvcp->inc; + Read-only accessor for the C option. =cut @@ -118,6 +134,8 @@ sub inc { @{$_[0]->{inc} || []} } =head2 C + my $taint_mode = $tvcp->taint_mode; + Read-only accessor for the C option. =cut @@ -133,7 +151,9 @@ sub args { $self->SUPER::args(@_); } -=head2 C +=head2 C + + my $env = $tvcp->env($session); Returns an L object that sets the environment variables C to C<3> and C to C<1> during the run. @@ -142,7 +162,7 @@ Returns an L object that sets the environment variables Csanctify( env => { - PERL_DESTRUCT_LEVEL => 2, + PERL_DESTRUCT_LEVEL => 3, PERL_DL_NONLAZY => 1, }, ); @@ -173,7 +193,8 @@ sub filter { or not $report->isa('Test::Valgrind::Report::Suppressions'); my $data = $report->data; - $data =~ s/^[^\r\n]*\bPerl_runops_(?:standard|debug)\b.*//ms; + $data =~ s/[^\r\n]*\bPerl_runops_(?:standard|debug)\b.*//s; + $data = Test::Valgrind::Suppressions->strip_tail($session, $data); $report->new( id => $report->id, @@ -218,7 +239,7 @@ You can find documentation for this module with the perldoc command. =head1 COPYRIGHT & LICENSE -Copyright 2009 Vincent Pit, all rights reserved. +Copyright 2009,2010,2011,2013 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. @@ -264,7 +285,7 @@ my @cards = List::Util::shuffle(0 .. 51); { package Test::Valgrind::Test::Fake; - use base qw/strict/; + use base qw; } -eval 'use Time::HiRes qw/usleep/'; +eval 'use Time::HiRes qw';