#!/usr/local/bin/perl -w
use strict;
use Test::More tests => 7;
sub findVersion {
my $pv = `perl -v`;
my ($v) = $pv =~ /v(\d+\.\d+)\.\d+/;
$v ? $v : 0;
}
BEGIN { use_ok('GRID::Machine', qw(is_operative qc)) };
my $test_exception_installed;
BEGIN {
$test_exception_installed = 1;
eval { require Test::Exception };
$test_exception_installed = 0 if $@;
}
my $host = $ENV{GRID_REMOTE_MACHINE} || '';
SKIP: {
skip "Remote not operative or Test::Exception not installed", 6
unless $host and $test_exception_installed and is_operative('ssh', $host);
########################################################################
my $machine;
Test::Exception::lives_ok {
$machine = GRID::Machine->new(host => $host);
} 'No fatals creating a GRID::Machine object';
########################################################################
my $p = { name => 'Peter', familyname => [ 'Smith', 'Garcia'] };
my $r = $machine->eval( (q{
$q = shift; $q->{familyname}
}), $p
);
my $expected = qr{
Error\s+while\s+compiling\s+eval\s+'.q\s+=\s+shift;\s+.q->.fam...'\s+
Global\s+symbol\s+".q"\s+requires\s+explicit\s+package\s+name\s+at\s+t/09errandlinenumbers.t\s+line\s+39
}xs;
my $err = $r->errmsg;
like($err, $expected, q{Error line is pointed in eval accurately});
is($r->stdout, '', q{nothing in stdout});
is($r->errcode, 0, q{errcode is 0});
is($r->stderr, '', q{stderr is ''});
is($r->type, 'DIED', q{type is 'DIED'});
} # end SKIP block