sub suppressions_tag;
+=head2 C<filter $session, $report>
+
+The <$session> calls this method after receiving a report from the tool and before forwarding it to the action.
+You can either return a mangled C<$report> (which does not need to be a clone of the original) or C<undef> if you want the action to ignore it completely.
+
+Defaults to the identity function.
+
+=cut
+
+sub filter { $_[2] }
+
=head1 SEE ALSO
L<Test::Valgrind>, L<Test::Valgrind::Session>.
=cut
sub report {
- my $self = shift;
- $self->action->report($self, @_);
+ my ($self, $report) = @_;
+
+ return unless defined $report;
+
+ $report = $self->command->filter($self, $report);
+ return unless defined $report;
+
+ $self->action->report($self, $report);
}
=head2 C<finish>