/
Net-HTTPS-NB.t
43 lines (33 loc) · 956 Bytes
/
Net-HTTPS-NB.t
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
41
42
43
#!/usr/bin/env perl
use Test::More;
BEGIN {
use_ok('Net::HTTPS::NB');
}
use strict;
SKIP: {
skip "I heared fork doesn't work on Windows"
if $^O =~ /MSWin/i;
my ($host, $port) = make_server();
my $start = time();
my $sock = Net::HTTPS::NB->new(Host => $host, PeerPort => $port);
ok(time() - $start >= 3, 'Blocking connect');
ok(! defined $sock, 'HTTPS init error');
($host, $port) = make_server();
$start = time();
$sock = Net::HTTPS::NB->new(Host => $host, PeerPort => $port, Blocking => 0);
ok(time() - $start < 3, 'Non blocking connect');
is($sock->connected, 0, 'Invalid socket connection');
isa_ok($sock, 'Net::HTTPS::NB');
}
done_testing();
sub make_server {
my $serv = IO::Socket::INET->new(Listen => 3);
my $child = fork();
die 'fork:', $! unless defined $child;
if ($child == 0) {
sleep 3;
$serv->accept();
exit;
}
return ($serv->sockhost eq "0.0.0.0" ? "127.0.0.1" : $serv->sockhost, $serv->sockport);
}