1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
use strict;
use warnings;
use File::Temp ();
use Test::TCP;
use Test::More tests => 4;
use Server::Starter qw(start_server);
$SIG{PIPE} = sub {};
test_tcp(
server => sub {
my $port = shift;
start_server(
port => "$port=0",
exec => [
$^X, qw(t/11-specified-fd-server.pl)
],
);
exit 0;
},
client => sub {
my ($port, $server_pid) = @_;
my $buf;
#sleep 1;
my $sock = IO::Socket::INET->new(
PeerAddr => "127.0.0.1:$port",
Proto => 'tcp',
);
ok($sock, 'connect');
# check response and get pid
is($sock->syswrite("hello"), 5, 'write');
ok($sock->sysread($buf, 1048576), 'read');
undef $sock;
like($buf, qr/^\d+:hello$/, 'read');
kill $server_pid;
},
);
|