File: Net-HTTPS-NB.t

package info (click to toggle)
libnet-https-nb-perl 0.15-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 92 kB
  • sloc: perl: 230; makefile: 7
file content (43 lines) | stat: -rw-r--r-- 956 bytes parent folder | download | duplicates (5)
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);
}