Branch Coverage

blib/lib/Sys/HostAddr.pm
Criterion Covered Total %
branch 43 116 37.0


line true false branch
24 0 1 if (@_ % 2) { }
35 1 0 unless $$self{'ipv'}
45 0 0 unless ($$self{'ipv'} == 4)
69 0 0 if (/^\r\n$/)
73 0 0 unless $dh
75 0 0 if (/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/)
84 0 0 if $@
95 0 18 if (/^\s+Description[\s\.]+:\s+([^\r\n]+)/) { }
2 16 elsif (/^([a-z0-9]+(?::[0-9]+)?):?\s+/ and $^O ne 'MSWin32' and $^O ne 'cygwin') { }
111 2 16 if (/^\s+$ipv\s+(?:addr:)?(\S+)\s/) { }
0 16 elsif (/^\s+${ipv}[\s\.]+:\s+([a-f0-9:\.]{3,40})/) { }
0 16 elsif (/^\s+IP Address[\s\.]+:\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/) { }
0 16 elsif (/^\s+IP Address[\s\.]+:\s+([a-f0-9:\.]{3,40})/) { }
116 0 0 if $$self{'ipv'} eq '4'
118 0 0 if $$self{'ipv'} eq '6'
132 2 16 if ($line =~ /^([a-z0-9]+(?::[0-9]+)?):?\s+/ and $^O ne 'MSWin32' and $^O ne 'cygwin') { }
2 14 elsif ($line =~ /^\s+$ipv\s+(?:addr:)?(\S+)\s/) { }
0 14 elsif ($line =~ /^\s+Description[\s\.]+:\s([^\r\n]+)/) { }
0 14 elsif ($line =~ /^\s+${ipv}[\s\.]+:\s+([a-f0-9:\.]{3,40})/) { }
0 14 elsif ($line =~ /^\s+IP Address[\s\.]+:\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/) { }
0 14 elsif ($line =~ /^\s+IP Address[\s\.]+:\s+([a-f0-9:\.]{3,40})/) { }
0 14 elsif ($line =~ /^\s+Subnet Mask[\s\.]+:\s+(\S+)/) { }
136 0 2 if ($line =~ /netmask\s+(?:0x)?([a-f0-9]{8})\s/) { }
0 2 elsif ($line =~ /netmask\s+(\S+)/) { }
2 0 elsif ($line =~ /Mask:(\S+)/) { }
0 0 elsif ($$self{'ipv'} eq '6' and $line =~ m[(/\d{1,3})$]) { }
155 0 0 if $$self{'ipv'} eq '4'
157 0 0 if $$self{'ipv'} eq '6'
175 1 1 if (/^\s+$ipv\s+(?:addr:)?(\S+)\s/) { }
0 1 elsif (/^\s+${ipv}[\s\.]+:\s+([a-f0-9:\.]{3,40})/) { }
0 1 elsif (/^\s+IP Address[\s\.]+:\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/) { }
0 1 elsif (/^\s+IP Address[\s\.]+:\s+([a-f0-9:\.]{3,40})/) { }
180 0 0 if $$self{'ipv'} eq '4'
182 0 0 if $$self{'ipv'} eq '6'
184 1 1 if ($addr)
185 0 1 if $addr =~ /^(?:127\.|::1)/
198 0 4 if ($^O eq 'MSWin32' or $^O eq 'cygwin') { }
204 0 4 if $$self{'ipv'} eq '6' and $^O eq 'solaris'
215 0 0 if ($method eq 'preferred' and ($^O ne 'MSWin32' and $^O ne 'cygwin'))
218 0 1 unless ($method =~ /^(?:dns|route|preferred|auto)$/)
222 1 0 if ($method eq 'dns' or $method eq 'auto')
232 0 1 if @x > 1
236 0 1 if ($@)
239 1 0 if ($addr)
240 1 0 unless $addr =~ /^(?:127\.|::1)/
245 0 0 if ($method eq 'route' or $method eq 'auto')
250 0 0 if ($^O eq 'solaris') { }
261 0 0 if ($line =~ /^\s+0\.0\.0\.0\s+0\.0\.0\.0\s+\S+\s+(\S+)\s+/) { }
0 0 elsif ($line =~ /^(?:0\.0\.0\.0|default)\s.*\s(\S+)$/) { }
0 0 elsif ($line =~ /^\s+interface:\s+(\S+)$/) { }
272 0 0 if ($^O eq 'MSWin32' or $^O eq 'cygwin')
273 0 0 if ($method eq 'preferred' or $method eq 'auto')
276 0 0 if (/^\s+${ipv}[\s\.]+:\s+(\S+)\(Preferred\)/)
289 0 1 $$self{'ipv'} eq '6' ? :
0 1 $^O eq 'MSWin32' || $^O eq 'cygwin' ? :
0 1 ($^O eq 'MSWin32' || $^O eq 'cygwin') && $$self{'ipv'} eq '6' ? :
302 0 4 unless open my $fh, "$cmd $params |"
319 0 5 if $$self{'debug'}