#!/usr/bin/perl
use strict;
use warnings;
my $numtests;
BEGIN {
$numtests = 6;
}
use Test::More tests => $numtests;
BEGIN { use_ok('GRID::Machine', 'is_operative') };
my $test_exception_installed;
BEGIN {
$test_exception_installed = 1;
eval { require Test::Exception };
$test_exception_installed = 0 if $@;
}
use File::Spec;
sub e2r {
local $_ = shift;
s/\s+//g;
$_ = quotemeta;
$_ = qr{$_};
}
my $debug = @ARGV ? 1234 : 0;
my $host = $ENV{GRID_REMOTE_MACHINE} || '';
SKIP: {
skip "Remote not operative or Test::Exception not installed", $numtests-1 unless $test_exception_installed and $host && is_operative('ssh', $host);
my $tmpdir = File::Spec->tmpdir();
my $m;
Test::Exception::lives_ok {
$m = GRID::Machine->new(
host => $host,
prefix => "$tmpdir/perl5lib",
startdir => $tmpdir,
log => $tmpdir.'/rperl$$.log',
err => $tmpdir.'/rperl$$.err',
debug => $debug,
cleanup => 1,
sendstdout => 1
);
} 'No fatals creating a GRID::Machine object';
my $r = $m->system("anunknowncommand");
#my $expected = e2r(q{anunknowncommand});
#my $err = $r->stderr;
#$err =~s/\s+//g;
#like($err, $expected, q{Can't exec "anunknowncommand":});
is($r->stdout, '', q{nothing in stdout});
like($r->errcode, qr{-1|256}, q{result is -1});
is($r->errmsg, '', q{errmsg is ''});
is($r->type, 'RETURNED', q{type is 'RETURNED'});
}