Branch Coverage

blib/lib/IO/Socket/HappyEyeballs.pm
Criterion Covered Total %
branch 69 112 61.6


line true false branch
39 1 0 if ($arg eq "-override")
40 1 0 unless $_override_active
56 1 2 if (delete do { *$self }->{'io_socket_happyeyeballs_connected'})
65 4 0 if ($args{'PeerHost'} || $args{'PeerAddr'} and $args{'PeerPort'})
68 0 0 if (not $proto or $proto eq "tcp" or $type == 1 or not $type)
70 3 1 if ($sock)
74 1 0 if ($ip_class ne "IO::Socket::IP" and $ip_class ne "IO::Socket::HappyEyeballs" and $ip_class->isa("IO::Socket::IP"))
79 1 0 if $sock->can("configure")
101 0 4 unless (@addresses)
111 3 1 if ($sock)
124 0 6 unless my $peer_host = $args{'PeerHost'} || $args{'PeerAddr'}
126 0 6 unless my $peer_port = $args{'PeerPort'}
133 1 5 unless (@addresses)
145 4 1 if ($sock)
161 0 10 exists $args->{'GetAddrInfoFlags'} ? :
163 10 0 $flags ? :
174 1 9 if ($err || !@results and $flags)
179 1 9 if ($err)
193 8 9 if (my $cached = $_cache{$cache_key})
194 7 1 if ($cached->{'expires'} > time) { }
204 10 19 if ($addr->{'family'} == 10) { }
215 6 11 if ($preferred_family and $preferred_family == 2) { }
219 5 6 @ipv6 ? :
220 5 6 @ipv6 ? :
224 21 0 if @$primary
225 8 13 if @$secondary
245 0 9 if $now >= $deadline
251 0 0 if (not $last_resort_done and $addr_idx >= @$addresses and not @pending and $last_attempt_time)
255 0 0 if ($synth_addresses and @$synth_addresses)
264 9 0 if ($addr_idx < @$addresses and $now >= $next_attempt_time)
268 9 0 if ($sock)
270 7 2 if ($sock->connected)
283 0 2 unless @pending
287 0 2 if ($addr_idx < @$addresses) { }
290 0 0 if $wait_time < 0
294 0 2 if $wait_time < 0
300 2 0 if (@ready and $ready[1])
304 0 2 if ($err == 0) { }
331 0 9 unless $sock->socket($addr->{'family'}, $addr->{'socktype'}, $addr->{'protocol'})
336 0 9 if ($rv)
340 9 0 if ($! == 115)
352 1 6 if (exists $args->{'Blocking'} and not $args->{'Blocking'}) { }
362 0 0 if $p->[0]
372 0 2 unless defined $host and defined $port
377 1 1 if ($now < $synthesis_time)
379 1 0 if $now + $wait > $deadline
389 1 0 unless @ipv4_results
394 0 0 if ($nat64_prefix)
399 0 0 if $synth
401 0 0 if @synthesized
416 0 1 if ($now < $_nat64_prefix_expires)
428 0 1 if (not $err and @results)
449 1 1 unless $family == 2
481 6 2 if (defined $new_delay)
489 2 2 if (defined $new_delay)
497 2 2 if (defined $new_ttl)