Condition Coverage

blib/lib/Mail/SPF/Iterator.pm
Criterion Covered Total %
condition 64 112 57.1


and 3 conditions

line !l l&&!r l&&r condition
398 994 0 0 !$ip4 && $can_ip6 && eval { do { inet_pton(10, $ip) } }
669 10 122 116 $sub != \&Mail::SPF::Iterator::_got_TXT_exp and not $self->{'opt'}{'rfc4408'}
132 108 8 $sub != \&Mail::SPF::Iterator::_got_TXT_exp and not $self->{'opt'}{'rfc4408'} and --$self->{'limit_dns_void'} < 0
739 1585 0 0 not @ans and @names > 1
794 2687 112 20 $self->{'result'} and not @rv
856 1062 2 0 $self->{'tmpresult'} and $ResultQ{$self->{'tmpresult'}[0]} > $ResultQ{$rv[0]}
933 0 0 0 $domain->{'macro'} and my(@rv) = $self->_resolve_macro_p($domain)
1039 12 72 2378 $domain =~ /[^\d.]/ and $domain =~ s/^($rx)\.?$/$1/
1160 12 28 0 not $self->{'mech'} and my $default = $self->{'opt'}{'default_spf'}
1321 20 200 6 $qual eq "Pass" and $_->[0] == \&Mail::SPF::Iterator::_mech_all
1451 0 0 275 $addr =~ /^[\d.]+$/ && eval { do { inet_aton($addr) } }
1559 6 0 40 $rr->type eq $atyp and exists $mx{$rr->name}
1955 0 2 20 ref $rec && $rec->{'ip'}

or 2 conditions

line l !l condition
488 0 0 $timeout || 20
509 0 0 $answer || [$q, $resolver->errorstring]
585 34 0 $err ||= "unknown error"
1202 534 1034 $qual or "+"
1226 12 0 eval { do { $ip = inet_pton(10, $ip) } } or die "bad ip '${ip}' in '${_}'\n"
1233 282 232 $arg ||= ""
1249 72 0 $err[2]{'problem'} || 'Invalid domain name'
1259 20 30 $arg || ''
1268 52 6 $arg || ''
1275 152 12 $arg || ''
1289 138 0 $arg || ''
1292 6 0 $err[2]{'problem'} || 'Invalid domain name'
1298 152 0 $arg || ''
1301 12 0 $err[2]{'problem'} || 'Invalid domain name'
1311 30 0 $arg || ''
1869 10 222 $macro_delim ||= "."
1889 0 0 $self->{'myname'} || 'unknown'

or 3 conditions

line l !l&&r !l&&!r condition
284 5 0 0 eval { do { require Socket; 'Socket'->import('inet_pton', 'inet_ntop'); 'Socket'->import('AF_INET6') unless defined &Mail::SPF::Iterator::AF_INET6; 1 } } || eval { do { require Socket6; 'Socket6'->import('inet_pton', 'inet_ntop'); 'Socket6'->import('AF_INET6') unless defined &Mail::SPF::Iterator::AF_INET6; 1 } }
399 994 0 0 $ip4 or $ip6
489 0 0 0 $resolver ||= "Net::DNS::Resolver"->new
512 0 0 0 $status or @ans
538 0 3289 1436 $v eq "" or $v =~ m[[^0-9a-zA-Z!#$%&'*+\-/=?^_`{|}~]]
633 30 0 4 not $self->{'tmpresult'} or $ResultQ{$self->{'tmpresult'}[0]} < $ResultQ{&SPF_TempError}
667 248 0 1585 not @answer or $rcode ne "NOERROR"
827 0 72 44 $rv[0] eq "TempError" or $rv[0] eq "PermError"
1036 458 2004 0 $rx ||= qr/.*?/
1204 358 156 272 $mech eq "a" or $mech eq "mx"
1636 34 0 0 $self->{'clientip4'} || $self->{'clientip6'}
1890 62 0 0 $self->{'clientip4'} || $self->{'clientip6'}
1982 0 0 20 $rcode ne "NOERROR" or not @$ans