Branch Coverage

blib/lib/IO/Socket.pm
Criterion Covered Total %
branch 65 128 50.7


line true false branch
34 0 54 if (@_ and $_[0] eq 'sockatmark') { }
50 41 21 scalar %arg ? :
65 0 4 unless defined $domain
68 0 4 unless defined $domain2pkg[$domain]
71 0 4 unless ref $sock eq "IO::Socket"
79 0 43 unless @_ == 4
82 0 43 unless CORE::socket $sock, $domain, $type, $protocol
92 36 7 if $protocol
98 0 0 unless @_ == 4
103 0 0 unless CORE::socketpair $sock1, $sock2, $domain, $type, $protocol
113 0 13 unless @_ == 2
120 1 12 if $timeout
121 1 12 unless (CORE::connect $sock, $addr)
122 1 0 if (defined $timeout and $!{'EINPROGRESS'} || $!{'EWOULDBLOCK'}) { }
0 0 elsif ($blocking or not $!{'EINPROGRESS'} || $!{'EWOULDBLOCK'}) { }
129 0 1 if (@$e[0]) { }
0 1 elsif (not @$w[0]) { }
0 1 elsif (not CORE::connect($sock, $addr) || ($!{'EISCONN'} || $^O eq 'MSWin32' && $! == ($] < 5.019004 ? 10022 : 22))) { }
161 1 12 if $blocking
163 0 13 if $err
165 0 13 $err ? :
177 10 0 if $^O ne "MSWin32" and $^O ne "VMS"
197 0 0 unless @_
201 0 0 if (!$block != !$orig)
202 0 0 $block ? :
203 0 0 unless ioctl $sock, 2147772030, pack("L!", do { *$sock }->{'io_sock_nonblocking'})
212 0 19 unless @_ == 1
219 0 28 unless @_ == 2
223 28 0 CORE::bind($sock, $addr) ? :
228 0 20 unless @_ >= 1 and @_ <= 2
230 0 20 unless $queue and $queue > 0
233 20 0 CORE::listen($sock, $queue) ? :
238 0 21 unless @_ == 1 or @_ == 2
245 18 3 if (defined $timeout)
250 1 17 unless ($sel->can_read($timeout))
252 1 0 exists &Errno::ETIMEDOUT ? :
257 0 20 unless $peer = CORE::accept($new, $sock)
262 0 20 wantarray ? :
267 0 25 unless @_ == 1
272 0 2 unless @_ == 1
278 0 2 unless @_ == 1
284 0 6 unless @_ >= 2 and @_ <= 4
289 2 4 if ($_[3]) { }
1 3 elsif (not defined getpeername $sock) { }
298 0 1 unless defined $peer
302 3 3 $peer ? :
307 2 4 if @_ == 4 and defined $r
314 0 6 unless @_ == 3 or @_ == 4
324 0 0 unless @_ == 2
331 0 0 unless @_ == 4
338 0 13 unless @_ == 3
341 13 0 if defined $r and length $r == $intsize
348 13 0 @_ == 1 ? :
353 0 0 unless @_ == 1
359 0 0 unless @_ == 1 or @_ == 2
363 0 0 defined $val ? :
0 0 if @_ == 2
370 0 10 unless @_ == 1
372 2 8 unless (defined do { *$sock }->{'io_socket_domain'})
374 2 0 if defined $addr
381 0 10 unless @_ == 1
384 2 8 if not defined do { *$sock }->{'io_socket_type'} and defined eval { do { 3 } }
389 0 10 unless @_ == 1
392 5 5 if not defined do { *$sock }->{'io_socket_proto'} and defined eval { do { 38 } }