X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FTest%2FValgrind%2FTool.pm;h=186b75a0e8138b1c8b60cb94cd2885008bae8e81;hb=90b6c795c9fab6343c3501923aacc8f43f7a82ea;hp=5316521cb88446b2ae01017acaf45adc7ca9e3bb;hpb=abe419ac02d109283a1fe5615f5ab9d0a9a5572f;p=perl%2Fmodules%2FTest-Valgrind.git diff --git a/lib/Test/Valgrind/Tool.pm b/lib/Test/Valgrind/Tool.pm index 5316521..186b75a 100644 --- a/lib/Test/Valgrind/Tool.pm +++ b/lib/Test/Valgrind/Tool.pm @@ -9,11 +9,11 @@ Test::Valgrind::Tool - Base class for Test::Valgrind tools. =head1 VERSION -Version 1.01 +Version 1.12 =cut -our $VERSION = '1.01'; +our $VERSION = '1.12'; =head1 DESCRIPTION @@ -24,7 +24,7 @@ They are expected to function both in suppressions generation and in analysis mo =cut -use base qw/Test::Valgrind::Carp/; +use base qw/Test::Valgrind::Component Test::Valgrind::Carp/; =head1 METHODS @@ -58,7 +58,7 @@ sub new { return $tool->new(%args); } - bless { }, $class; + $class->SUPER::new(@_); } =head2 C @@ -71,41 +71,25 @@ Defaults to return C, which skips suppression generation. sub new_trainer { } -=head2 C - -Wraps around either L or L depending on the running mode of the C<$session>. +=head2 C -=cut - -sub report_class { - my ($self, $sess) = @_; - - if ($sess->do_suppressions) { - $self->report_class_suppressions($sess); - } else { - $self->report_class_analysis($sess); - } -} - -=head2 C - -Returns the class in which suppression reports generated by this tool will be blessed. +Returns the class from which the parser for this tool output will be instanciated. This method must be implemented when subclassing. =cut -sub report_class_suppression; +sub parser_class; -=head2 C +=head2 C -Returns the class in which error reports generated by this tool will be blessed. +Returns the class in which suppression reports generated by this tool will be blessed. This method must be implemented when subclassing. =cut -sub report_class_analysis; +sub report_class; =head2 C @@ -116,7 +100,7 @@ Defaults to the empty list. =cut -sub args { } +sub args { } =head2 C @@ -132,61 +116,28 @@ sub suppressions_tag; Called when the C<$session> starts. -Defaults to void. - -=cut - -sub start { } - -=head2 C - -Wraps around either L or L depending on the running mode of the C<$session>. +Defaults to set L. -=cut - -sub parse { - my ($self, $sess, $fh) = @_; - - if ($sess->do_suppressions) { - $self->parse_suppressions($sess, $fh); - } else { - $self->parse_analysis($sess, $fh); - } -} +=head2 C -=head2 C +The C<$session> calls this method after receiving a report from the parser and before letting the command filter it. +You can either return a mangled C<$report> (which does not need to be a clone of the original) or C if you want the action to ignore it completely. -Parse the suppression reports sent by the C process attached to the session C<$session> through the filehandle C<$fh>. - -This method must be implemented when subclassing. +Defaults to the identity function. =cut -sub parse_suppressions; - -=head2 C - -Parse the error reports sent by the C process attached to the session C<$session> through the filehandle C<$fh>. - -This method must be implemented when subclassing. - -=cut - -sub parse_analysis; +sub filter { $_[2] } =head2 C Called when the C<$session> finishes. -Defaults to void. - -=cut - -sub finish { } +Defaults to clear L. =head1 SEE ALSO -L, L. +L, L, L. =head1 AUTHOR