#!/usr/local/bin/perl -w
use strict;
our (
$nt,
$nt2,
$nt3,
$nt4,
$nt5,
$nt6,
$nt7,
);
BEGIN {
$nt = 2;
$nt2 = 1;
$nt3 = 1;
$nt4 = 3;
$nt5 = 0;
$nt6 = 0;
$nt7 = 0;
};
use Test::More;
BEGIN {
use_ok('GRID::Machine', 'is_operative');
use_ok('GRID::Machine::Group');
};
my $test_exception_installed;
BEGIN {
$test_exception_installed = 1;
eval { require Test::Exception };
$test_exception_installed = 0 if $@;
}
my @MACHINE_NAMES = split /\s+/, $ENV{MACHINES} || '';
@MACHINE_NAMES = ('', '') unless @MACHINE_NAMES;
my $host = ($ENV{GRID_REMOTE_MACHINE} || '');
my $operative = 0;
if ($ENV{DEVELOPER}) {
$operative = is_operative('ssh', $host,'perldoc -l Inline::C');
for (@MACHINE_NAMES) {
$operative = ($operative and is_operative('ssh', $_));
}
}
SKIP: {
skip "t/smallpar.pl not found", $nt2 unless ( $host && $operative && @MACHINE_NAMES && -r "t/smallpar.pl");
my $r = qx{perl -I./lib/ t/smallpar.pl 2>&1};
$r = eval $r;
my $expected = bless( [
bless( { 'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [ 1 ]
}, 'GRID::Machine::Result' ),
bless( {
'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [ 1 ]
}, 'GRID::Machine::Result' )
], 'GRID::Machine::Group::Result' );
is_deeply($r, $expected,'less args than machines. Using void()');
}
SKIP: {
skip "t/smallpar1.pl not found", $nt3 unless ( $host && $operative && @MACHINE_NAMES && -r "t/smallpar1.pl");
my $r = qx{perl -I./lib/ t/smallpar1.pl 2>&1};
$r = eval $r;
my $expected = bless( [
bless( { 'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [ 1 ]
}, 'GRID::Machine::Result' ),
bless( {
'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [ 1 ]
}, 'GRID::Machine::Result' )
], 'GRID::Machine::Group::Result' );
is_deeply($r, $expected,'less args than machines. Using replicate value');
}
SKIP: {
skip "t/smallpar3.pl not found", $nt4 unless ( $host && $operative && @MACHINE_NAMES && -r "t/smallpar3.pl");
my $r = qx{perl -I./lib/ t/smallpar3.pl 2>&1};
$r = eval $r;
my $expected = bless( [
bless( {
'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [
{
'sq' => 1
}
]
}, 'GRID::Machine::Result' ),
bless( {
'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [
{
'sq' => 4
}
]
}, 'GRID::Machine::Result' )
], 'GRID::Machine::Group::Result' );
my $m = $expected;
$m = $r if @MACHINE_NAMES < 2;
isa_ok($r, 'GRID::Machine::Group::Result');
is_deeply($r->[$_], $expected->[$_],'less args than machines. Using replicate code. Arrayref returned') for @$m;
}
SKIP: {
skip "t/smallpar4.pl not found", $nt4 unless ($host && @MACHINE_NAMES && $operative && -r "t/smallpar4.pl");
my $r = qx{perl -I./lib/ t/smallpar4.pl 2>&1};
$r = eval $r;
my $expected = bless( [
bless( {
'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [
{
'sq' => 1
}
]
}, 'GRID::Machine::Result' ),
bless( {
'stderr' => '',
'errmsg' => '',
'type' => 'RETURNED',
'stdout' => '',
'errcode' => 0,
'results' => [
{
'sq' => 4
}
]
}, 'GRID::Machine::Result' )
], 'GRID::Machine::Group::Result' );
my $m = $expected;
$m = $r if @MACHINE_NAMES < 2;
isa_ok($r, 'GRID::Machine::Group::Result');
is_deeply($r->[$_], $expected->[$_],'less args than machines. Using replicate code. Values returned') for @$m;
}
done_testing;