NAME

Test::AutoBuild::Command - The base class for executing commands

SYNOPSIS

use Test::AutoBuild::Command;

my $cmd = Test::AutoBuild::Command->new(cmd => \@cmd, dir => $path, env => \%ENV);

# Execute the command
my $status = $counter->run($stdout, $stderr)

METHODS

my $stage = Test::AutoBuild::Command->new(cmd => \@cmd, dir => $path);

Creates a new command to be executed. The cmd argument provides an array ref for the command line to be run. The optional dir parameter provides a directory path which will be setup as the current working directory prior to executing the command.

my $status = $cmd->run($stdout, $stderr);

Execute the command sending its STDOUT to <$stdout> and its STDERR to $stderr. The $stdout and $stderr parameters can either contain file paths into which output will be written; be instances of IO::Handle to which output will be written, or simply be scalar references to collect the data in memory. If they are undef, then the output will be discarded. The returned $status is the command exit status, typically zero for success, non-zero for failure.

This method must be implemented by subclasses.

AUTHORS

Daniel Berrange <dan@berrange.com>,

COPYRIGHT

Copyright (C) 2007 Daniel Berrange

SEE ALSO

perl(1), Test::AutoBuild, Test::AutoBuild::Runtime, Test::AutoBuild::Command::Local, Test::AutoBuild::Command::SELocal