Vincent Pit > Test-Valgrind-1.14 > Test::Valgrind::Session

Download:
Test-Valgrind-1.14.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
Stalled  2
View/Report Bugs
Module Version: 1.14   Source  

NAME ^

Test::Valgrind::Session - Test::Valgrind session object.

VERSION ^

Version 1.14

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 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 :

valgrind

    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.

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(
     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.

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.

version, 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 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.

syntax highlighting: