NAME
Test::Valgrind::Session - Test::Valgrind session object.
VERSION
Version 1.19
DESCRIPTION
This class supervises the execution of the "valgrind" process. It also acts as a dispatcher between the different components.
METHODS
"new"
my $tvs = Test::Valgrind::Session->new(search_dirs => \@search_dirs,valgrind => $valgrind, # One candidatevalgrind => \@valgrind, # Several candidatesmin_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 :
- •
-
All the directories from
@search_dirswill have valgrind appended to create a list of candidates for the"valgrind"executable.Defaults to the current
"PATH"environment variable.
- •
-
If a simple scalar
$valgrindis passed as the value to'valgrind', it will be the only candidate.@search_dirswill then be ignored.If an array reference
"\@valgrind"is passed, its values will be prepended to the list of the candidates resulting from@search_dirs.
- •
-
$min_versionspecifies 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.Defaults to none.
- •
-
If
$regen_def_suppis true, the default suppression file associated with the tool and the command will be forcefully regenerated.Defaults to false.
- •
-
If
$no_def_suppis true,"valgrind"won't read the default suppression file associated with the tool and the command.Defaults to false.
- •
-
If
$allow_no_suppis true, the command will always be run into"valgrind"even if no appropriate suppression file is available.Defaults to false.
- •
-
$extra_suppsis a reference to an array of optional suppression files that will be passed to"valgrind".Defaults to none.
"valgrind"
my $valgrind_path = $tvs->valgrind;
The path to the selected "valgrind" executable.
"version"
my $valgrind_version = $tvs->version;
The Test::Valgrind::Version object associated to the selected "valgrind".
"regen_def_supp"
my $regen_def_supp = $tvs->regen_def_supp;
Read-only accessor for the "regen_def_supp" option.
"no_def_supp"
my $no_def_supp = $tvs->no_def_supp;
Read-only accessor for the "no_def_supp" option.
"allow_no_supp"
my $allow_no_supp = $tvs->allow_no_supp;
Read-only accessor for the "allow_no_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.
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".
"parser_class"
Calls "->tool->parser_class" with the current session object as the unique argument.
"report_class"
Calls "->tool->report_class" with the current session object as the unique argument.
"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.
"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;
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.
"report"
$tvs->report($report);
Forwards to "->action->report" after unshifting the session object to the argument list.
"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.
SEE ALSO
Test::Valgrind, Test::Valgrind::Action, Test::Valgrind::Command, Test::Valgrind::Tool, Test::Valgrind::Parser.
File::HomeDir.
AUTHOR
Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
You can contact me by mail or on "irc.perl.org" (vincent).
BUGS
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.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Test::Valgrind::Session
COPYRIGHT & LICENSE
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.