AnyEvent-MockTCPServer
view release on metacpan or search on metacpan
lib/AnyEvent/MockTCPServer.pm view on Meta::CPAN
$self->next_action($hdl, $actions);
1;
});
}
sub sleep {
my ($self, $handle, $actions, $interval, $desc) = @_;
print STDERR 'Sleeping for ', $interval, ' ', $desc, "\n" if DEBUG;
my $w;
$w = AnyEvent->timer(after => $interval,
cb => sub {
$self->next_action($handle, $actions);
undef $w;
});
}
sub code {
my ($self, $handle, $actions, $code, $desc) = @_;
print STDERR 'Executing ', $code, ' for ', $desc, "\n" if DEBUG;
t/01-simple.t view on Meta::CPAN
]
]);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 9;
is($server->connect_host, $host, 'same host');
is($server->connect_port, $port, 'same port');
is($server->connect_string, $host.':'.$port, 'same host:port');
my $timeout = AnyEvent->timer(after => 20,
cb => sub { $done->send('timeout') });
tcp_connect $host, $port, sub {
my ($fh) = @_;
ok($fh, 'connected') or die "Failed to connect: $!\n";
my $hdl;
$hdl = AnyEvent::Handle->new(
fh => $fh,
on_error => sub { $done->send('error') });
$hdl->push_write('HELLO');
t/02-unexpected.t view on Meta::CPAN
my $done = AnyEvent->condvar;
my $server;
eval {
$server = AnyEvent::MockTCPServer->new();
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 2;
my $timeout = AnyEvent->timer(after => 5,
cb => sub { $done->send('timeout') });
tcp_connect $host, $port, sub {};
my $res = '';
eval { $res = $done->recv };
is($@, "Server received unexpected connection\n", 'unexpected connection');
is($res, '', 'no timeout');
[ packrecv => '48454C4C4F32',
'wait for "HELLO2"' ],
[ packsend => '42594532', 'send "BYE2"' ],
]
]);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 10;
my $timeout = AnyEvent->timer(after => 20,
cb => sub { $done->send('timeout') });
my $cv = AnyEvent->condvar;
tcp_connect $host, $port, sub {
my ($fh) = @_;
ok($fh, 'connected(1)') or die "Failed to connect: $!\n";
$cv->send(1);
my $hdl;
$hdl = AnyEvent::Handle->new(
fh => $fh,
t/04-timeout.t view on Meta::CPAN
[ packsend => '425945', 'send "BYE"' ],
]
],
timeout => 0.1);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 3;
my $timeout =
AnyEvent->timer(after => 20, cb => sub { $done->send('timeout') });
my $cv = AnyEvent->condvar;
my $filehandle;
tcp_connect $host, $port, sub {
my ($fh) = @_;
ok($fh, 'connected') or die "Failed to connect: $!\n";
$filehandle = $fh;
$cv->send(1);
};
t/05-error.t view on Meta::CPAN
]
],
on_error => sub { $done->send('error'); },
);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 3;
my $timeout =
AnyEvent->timer(after => 20, cb => sub { $done->send('timeout') });
my $cv = AnyEvent->condvar;
tcp_connect $host, $port, sub {
my ($fh) = @_;
ok($fh, 'connected') or die "Failed to connect: $!\n";
close $fh;
$cv->send(1);
};
$cv->recv; # connected
( run in 1.235 second using v1.01-cache-2.11-cpan-49f99fa48dc )