#!./perl -w
use lib qw(t/lib);
# Due to a bug in older versions of MakeMaker & Test::Harness, we must
# ensure the blib's are in @INC
use lib qw(blib/lib blib/arch ../lib);
use strict;
use warnings;
use Test::Simple tests => 5;
use subs::parallel;
my $test10 = test10();
my $test20 = test20();
ok($test10 == 10 && $test20 == 20);
my $test30 = test10() + test20();
ok($test30 == 30);
my $test200 = testmul($test10, $test20);
ok($test200 = 200);
my @test = (2,4,6,8,10);
my $testarray = testarray(@test);
my $bool = 1;
for (my $i = 0; $i <= $#test; $i++) {
if ($test[$i] != $testarray->[$i]-1) {
$bool = 0;
last;
}
}
ok($bool);
eval('use IO::Handle');
if ($@) { ok(1, 'skipped') }
else {
my $io = parallelize { new IO::Handle };
ok("$io" && ref($io) eq 'IO::Handle');
}
sub test10 : Parallel { return 10 }
sub test20 : Parallel { return 20 }
sub testmul : Parallel { return $_[0] * $_[1] }
sub testarray : Parallel {
my @array = @_;
for (@array) { $_++ }
return [@array];
}