use strict;
use warnings;
use Test::More;
BEGIN {
eval { require EV };
if ($@) {
plan skip_all => "module EV required";
} else {
plan tests => '5';
use_ok("IPC::MPS::EV");
}
}
my $vpid = spawn {
receive {
msg ping => sub {
my ($from, $i) = @_;
snd($from, "pong", $i + 1);
};
msg goal => sub {
my ($from, $i) = @_;
snd($from, "goal", "Goal!!!");
};
};
};
snd($vpid, "ping", 0);
receive {
my $j = 0;
msg pong => sub {
my ($from, $i) = @_;
is($i, ++$j, "Ping $i");
if ($i < 3) {
snd($from, "ping", $i);
} else {
is(snd_wt($vpid, "goal"), "Goal!!!", "Goal!!!");
exit;
}
};
};