Test::Valgrind::Session - Test::Valgrind session object.
Version 1.14
This class supervises the execution of the valgrind process. It also acts as a dispatcher between the different components.
valgrind
new
my $tvs = Test::Valgrind::Session->new( search_dirs => \@search_dirs, valgrind => $valgrind, # One candidate valgrind => \@valgrind, # Several candidates min_version => $min_version, no_def_supp => $no_def_supp, extra_supps => \@extra_supps, );
The package constructor, which takes several options :
All the directories from @search_dirs will have valgrind appended to create a list of candidates for the valgrind executable.
@search_dirs
Defaults to the current PATH environment variable.
PATH
If a simple scalar $valgrind is passed as the value to 'valgrind', it will be the only candidate. @search_dirs will then be ignored.
$valgrind
'valgrind'
If an array refernce \@valgrind is passed, its values will be prepended to the list of the candidates resulting from @search_dirs.
\@valgrind
$min_version specifies the minimal valgrind version required. The constructor will croak if it's not able to find an adequate valgrind from the supplied candidates list and search path.
$min_version
Defaults to none.
If $no_def_supp is false, valgrind won't read the default suppression file associated with the tool and the command.
$no_def_supp
Defaults to false.
$extra_supps is a reference to an array of optional suppression files that will be passed to valgrind.
$extra_supps
my $valgrind_path = $tvs->valgrind;
The path to the selected valgrind executable.
version
my $valgrind_version = $tvs->version;
The version object associated to the selected valgrind.
no_def_supp
my $no_def_supp = $tvs->no_def_supp;
Read-only accessor for the no_def_supp option.
extra_supps
my @extra_supps = $tvs->extra_supps;
Read-only accessor for the extra_supps option.
run
$tvs->run( action => $action, tool => $tool, command => $command, );
Runs the command $command through valgrind with the tool $tool, which will report to the action $action.
$command
$tool
$action
If the command is a Test::Valgrind::Command::Aggregate object, the action and the tool will be initialized once before running all the aggregated commands.
action
Read-only accessor for the action associated to the current run.
tool
Read-only accessor for the tool associated to the current run.
parser
Read-only accessor for the parser associated to the current tool.
command
Read-only accessor for the command associated to the current run.
do_suppressions
Forwards to ->action->do_suppressions.
->action->do_suppressions
parser_class
Calls ->tool->parser_class with the current session object as the unique argument.
->tool->parser_class
report_class
Calls ->tool->report_class with the current session object as the unique argument.
->tool->report_class
def_supp_file
Returns an absolute path to the default suppression file associated to the current session.
undef will be returned as soon as any of ->command->suppressions_tag or ->tool->suppressions_tag are also undef. Otherwise, the file part of the name is builded by joining those two together, and the directory part is roughly File::HomeDir->my_home / .perl / Test-Valgrind / suppressions / $VERSION.
undef
->command->suppressions_tag
->tool->suppressions_tag
suppressions
my @suppressions = $tvs->suppressions;
Returns the list of all the suppressions that will be passed to valgrind. Honors "no_def_supp" and "extra_supps".
start
$tvs->start( action => $action, tool => $tool, command => $command, );
Starts the action and tool associated to the current run. It's automatically called at the beginning of "run".
abort
$tvs->abort($msg);
Forwards to ->action->abort after unshifting the session object to the argument list.
->action->abort
report
$tvs->report($report);
Forwards to ->action->report after unshifting the session object to the argument list.
->action->report
finish
$tvs->finish;
Finishes the action and tool associated to the current run. It's automatically called at the end of "run".
status
my $status = $tvs->status;
Returns the status code of the last run of the session.
Test::Valgrind, Test::Valgrind::Action, Test::Valgrind::Command, Test::Valgrind::Tool, Test::Valgrind::Parser.
version, File::HomeDir.
Vincent Pit, <perl at profvince.com>, http://www.profvince.com.
<perl at profvince.com>
You can contact me by mail or on irc.perl.org (vincent).
irc.perl.org
Please report any bugs or feature requests to bug-test-valgrind at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Valgrind. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-test-valgrind at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Test::Valgrind::Session
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.
To install Test::Valgrind, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::Valgrind
CPAN shell
perl -MCPAN -e shell install Test::Valgrind
For more information on module installation, please visit the detailed CPAN module installation guide.