Test::Valgrind::Session(3pm) | User Contributed Perl Documentation | Test::Valgrind::Session(3pm) |
Test::Valgrind::Session - Test::Valgrind session object.
Version 1.19
This class supervises the execution of the "valgrind" process. It also acts as a dispatcher between the different components.
my $tvs = Test::Valgrind::Session->new( search_dirs => \@search_dirs, valgrind => $valgrind, # One candidate valgrind => \@valgrind, # Several candidates min_version => $min_version, regen_def_supp => $regen_def_supp, no_def_supp => $no_def_supp, allow_no_supp => $allow_no_supp, extra_supps => \@extra_supps, );
The package constructor, which takes several options :
Defaults to the current "PATH" environment variable.
If an array reference "\@valgrind" is passed, its values will be prepended to the list of the candidates resulting from @search_dirs.
Defaults to none.
Defaults to false.
Defaults to false.
Defaults to false.
Defaults to none.
my $valgrind_path = $tvs->valgrind;
The path to the selected "valgrind" executable.
my $valgrind_version = $tvs->version;
The Test::Valgrind::Version object associated to the selected "valgrind".
my $regen_def_supp = $tvs->regen_def_supp;
Read-only accessor for the "regen_def_supp" option.
my $no_def_supp = $tvs->no_def_supp;
Read-only accessor for the "no_def_supp" option.
my $allow_no_supp = $tvs->allow_no_supp;
Read-only accessor for the "allow_no_supp" option.
my @extra_supps = $tvs->extra_supps;
Read-only accessor for the "extra_supps" option.
$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.
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.
Read-only accessor for the "action" associated to the current run.
Read-only accessor for the "tool" associated to the current run.
Read-only accessor for the "parser" associated to the current tool.
Read-only accessor for the "command" associated to the current run.
Forwards to "->action->do_suppressions".
Calls "->tool->parser_class" with the current session object as the unique argument.
Calls "->tool->report_class" with the current session object as the unique argument.
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.
my @suppressions = $tvs->suppressions;
Returns the list of all the suppressions that will be passed to "valgrind". Honors "no_def_supp" and "extra_supps".
$tvs->start;
Starts the action and tool associated to the current run. It's automatically called at the beginning of "run".
$tvs->abort($msg);
Forwards to "->action->abort" after unshifting the session object to the argument list.
$tvs->report($report);
Forwards to "->action->report" after unshifting the session object to the argument list.
$tvs->finish;
Finishes the action and tool associated to the current run. It's automatically called at the end of "run".
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.
File::HomeDir.
Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
You can contact me by mail or on "irc.perl.org" (vincent).
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.
You can find documentation for this module with the perldoc command.
perldoc Test::Valgrind::Session
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.
2016-08-01 | perl v5.22.2 |