Branch Coverage

blib/lib/Mail/SpamAssassin/Dns.pm
Criterion Covered Total %
branch 22 156 14.1


line true false branch
109 0 0 unless ($existing_ent)
124 0 0 if ($existing_ent)
129 0 0 if (defined $subtest) { }
171 0 0 if (substr($rule, 0, 2) eq '__') { }
0 0 elsif ($answer->type eq 'TXT') { }
182 0 0 if ($question->string =~ /^((?:[0-9a-fA-F]\.){32})(\S+\w)/) { }
0 0 elsif ($question->string =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)\.(\S+\w)/) { }
203 0 0 if ($log and not $self->{'already_logged'}{$log})
208 0 0 if (not $self->{'tests_already_hit'}{$rule})
223 0 0 $answer->UNIVERSAL::can('rdstring') ? :
0 0 $answer->UNIVERSAL::can('txtdata') ? :
226 0 0 if (defined $qname and defined $rdatastr)
230 0 0 if $qclass ne 'IN'
231 0 0 if $qtype ne 'A'
232 0 0 @vals ? :
244 0 0 unless $pkt
246 0 0 unless $question
252 0 0 if ($self->{'sender_host'} and lc $question->qname eq lc $self->{'sender_host'} and $question->qtype =~ /^(?:A|MX)$/ and $pkt->header->rcode =~ /^(?:NXDOMAIN|SERVFAIL)$/ and ++$self->{'sender_host_fail'} == 2)
266 0 0 unless $answer
271 0 0 if $answ_type ne 'A' and $answ_type ne 'TXT'
272 0 0 if ($answ_type eq 'A')
274 0 0 $answer->UNIVERSAL::can('address') ? :
277 0 0 unless $ip_address =~ /^127\./
283 0 0 if ($self->{'dnspost'}{$set})
299 0 0 $answer->UNIVERSAL::can('rdstring') ? :
0 0 $answer->UNIVERSAL::can('txtdata') ? :
304 0 0 if $self->{'tests_already_hit'}{$rule}
306 0 0 if ($subtest =~ /^\d+\.\d+\.\d+\.\d+$/) { }
0 0 elsif ($subtest =~ s/^sb://) { }
0 0 elsif ($subtest =~ /^\d+$/) { }
308 0 0 if $subtest eq $rdatastr
313 0 0 if ($self->{'conf'}{'user_defined_rules'}{$rule})
322 0 0 unless (defined $sb{$1})
332 0 0 if not $undef and eval $subtest
337 0 0 if ($rdatastr =~ /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ and Mail::SpamAssassin::Util::my_inet_aton($rdatastr) & $subtest)
346 0 0 if ($rdatastr =~ /$test/)
363 0 0 $first ? :
365 0 0 if $self->is_rule_complete($rule)
366 0 0 if $result or $alldone
389 96 1 $first ? :
391 96 1 if $alldone
412 33 2967 if defined $last_poll_time and &Mail::SpamAssassin::PerMsgStatus::time() - $last_poll_time < 0.1
415 2 2965 if ($anydone)
426 0 96 unless defined $rbl_tag
431 0 96 if (defined $rbl_tag and $rbl_tag ne '')
466 0 0 unless $self->load_resolver
467 0 0 if $self->server_failed_to_respond_for_domain($dom)
475 0 0 if ($query)
477 0 0 if ($rr->type eq 'NS')
482 0 0 unless (eval { do { my $query = $self->{'resolver'}->send($dom, 'NS'); my @nses; if ($query) { foreach my $rr ($query->answer) { if ($rr->type eq 'NS') { push @nses, $rr->nsdname; } ; } ; } ; $nsrecords = [@nses]; 1 } })
483 0 0 $@ ne '' ? :
502 0 245 if ($dnsopt eq 'test' and $diff > $dnsint)
508 235 10 if defined $IS_DNS_AVAILABLE
512 0 10 if ($dnsopt eq 'no')
519 9 1 if $self->{'main'}{'local_tests_only'}
522 1 0 if (defined $Net::DNS::VERSION)
523 0 1 if (am_running_on_windows()) { }
524 0 0 if ($Net::DNS::VERSION < 0.46)
530 0 1 if ($Net::DNS::VERSION < 0.34)
538 0 1 unless $self->load_resolver
540 1 0 if ($dnsopt eq 'yes')
542 0 1 if ($self->{'conf'}{'dns_options'}{'rotate'})
553 0 0 if ($dnsopt =~ /^test:\s*(\S.*)$/) { }
566 0 0 if ($self->{'conf'}{'dns_options'}{'rotate'}) { }
582 0 0 if (not $result) { }
0 0 elsif (not @$result) { }
597 0 0 if (not @good_nameservers) { }
616 0 0 if ($self->{'dns_server_too_slow'}{$dom})
637 0 0 if (%ENV)
641 0 0 if defined $value
648 0 0 if ($self->{'main'}{'home_dir_for_helpers'}) { }
655 0 0 if ($newhome)
674 0 0 if (defined $self->{'old_sigchld_handler'}) { }
690 0 0 if ($SIG{'CHLD'} and $SIG{'CHLD'} ne 'IGNORE')
718 0 0 unless (defined $key)
723 0 0 if ($key eq '*ASYNC_START')
729 0 0 unless (defined $ent)
743 0 0 if (defined $pms->{'sender_host_fail'})