Branch Coverage

blib/lib/Net/Traceroute/PurePerl.pm
Criterion Covered Total %
branch 91 164 55.4


line true false branch
22 0 1 $^O eq 'MSWin32' ? :
53 0 1 if ($^O eq 'MSWin32' and $^V eq v5.8.6)
84 0 1015 unless $attr =~ /[^A-Z]/
85 0 1015 unless exists $Net::Traceroute::PurePerl::net_traceroute_native_var{$attr}
87 22 993 if @_
112 0 1 if $useicmp
120 0 1 if ($useicmp)
121 0 0 if defined $self->protocol and $self->protocol ne 'icmp'
123 0 0 if $useicmp
127 1 0 if defined $host
128 0 1 unless defined $self->max_ttl
129 0 1 unless defined $self->queries
130 0 1 unless defined $self->base_port
131 0 1 unless defined $self->query_timeout
132 0 1 unless defined $self->packetlen
133 0 1 unless defined $self->first_ttl
134 0 1 unless defined $self->concurrent_hops
137 0 1 unless defined $self->protocol
141 1 0 unless defined $self->use_alarm
156 3 2 if (defined $arg{$var})
183 0 0 unless ($self->hop_queries($hop))
190 0 0 if ($host and $resolve)
194 0 0 if ($host and !$lasthost || $host ne $lasthost)
195 0 0 if $lasthost and $host ne $lasthost
200 0 0 if (defined $time and $time > 0) { }
224 0 3 unless defined $self->host
232 1 2 unless defined $destination
247 0 2 unless socket $icmpsocket, 2, 3, getprotobyname 'icmp'
282 1 4 unless exists $Net::Traceroute::PurePerl::protocols{$self->protocol}
285 0 4 if $self->first_ttl < 1 or $self->first_ttl > 255
288 0 4 if $self->max_ttl < 1 or $self->max_ttl > 255
291 0 4 if $self->base_port < 1 or $self->base_port > 65280
294 0 4 if $self->packetlen < 40 or $self->packetlen > 1492
297 0 4 if $self->first_ttl > $self->max_ttl
300 0 4 if $self->queries < 1 or $self->queries > 255
303 0 4 if $self->concurrent_hops < 1 or $self->concurrent_hops > 255
306 0 4 if $self->protocol ne 'icmp' and $^O eq 'MSWin32'
380 2 88 unless $nexttimeout
385 30 60 if ($currentquery == 0)
392 89 20 unless ($nfound)
397 80 9 if $timeout > 0.1
421 78 0 if (defined $from_saddr) { }
434 0 78 if ($from_proto != getprotobyname 'icmp')
445 0 78 unless ($icmp_data)
454 6 0 if ($from_type == 11 or $from_type == 3 or $self->protocol eq 'icmp' and $from_type == 0)
462 39 39 if ($self->protocol eq 'udp') { }
39 0 elsif ($self->protocol eq 'icmp') { }
475 3 36 $from_type == 3 ? :
478 3 36 if ($from_type == 0) { }
484 0 3 unless $icmp_id == $$
497 0 36 unless $icmp_id == $$
503 36 0 if ($ptype eq 8)
512 78 0 if ($from_ip and $from_id)
514 0 78 unless ($id)
519 0 78 unless (exists $packets{$id})
524 78 0 if ($packets{$id}{'id'} == $from_id)
526 0 78 if $self->protocol eq 'udp' and $packets{$id}{'localport'} != $local_port
533 78 0 if (not $endhop or $hop <= $endhop)
544 6 72 if ($last_hop or $endhop and $hop == $endhop)
560 9 100 if (keys %packets and $nexttimeout < time)
566 12 9 if ($packets{$id}{'timeout'} < time) { }
9 0 elsif (not defined $nexttimeout) { }
573 0 12 if ($endhop and $hop == $endhop)
596 2 107 if ($currenthop > $self->max_ttl and not keys %packets) { }
0 107 elsif ($end >= $self->queries) { }
605 0 0 if (not $hop or $endhop and $hop > $endhop)
611 0 0 unless (keys %packets)
632 1 1 if ($self->protocol eq 'icmp') { }
1 0 elsif ($self->protocol eq 'udp') { }
638 0 1 unless socket $socket, 2, 2, getprotobyname 'udp'
644 0 2 if ($self->device)
645 0 0 unless setsockopt $socket, 1, 25, pack('Z*', $self->device)
652 0 2 if ($self->source_address and $self->source_address ne '0.0.0.0')
667 0 0 unless defined $ip
670 0 0 unless bind $socket, sockaddr_in(0, $ip)
685 45 45 if ($self->protocol eq 'icmp') { }
45 0 elsif ($self->protocol eq 'udp') { }
728 45 45 unless $chksum
761 90 45 if ($self->protocol eq 'udp')
770 90 45 if ($self->protocol eq 'udp')
776 45 90 $self->protocol eq 'icmp' ? :
800 0 45 if $len_msg % 2