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
372 994 0 0 !$ip4 && $can_ip6 && eval { do { inet_pton(10, $ip) } }
644 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
714 1585 0 0 not @ans and @names > 1
769 2687 112 20 $self->{'result'} and not @rv
831 1062 2 0 $self->{'tmpresult'} and $ResultQ{$self->{'tmpresult'}[0]} > $ResultQ{$rv[0]}
908 0 0 0 $domain->{'macro'} and my(@rv) = $self->_resolve_macro_p($domain)
1012 12 72 2378 $domain =~ /[^\d.]/ and $domain =~ s/^($rx)\.?$/$1/
1133 12 28 0 not $self->{'mech'} and my $default = $self->{'opt'}{'default_spf'}
1294 20 200 6 $qual eq 'Pass' and $_->[0] == \&Mail::SPF::Iterator::_mech_all
1424 0 0 285 $addr =~ /^[\d.]+$/ && eval { do { inet_aton($addr) } }
1532 6 0 40 $rr->type eq $atyp and exists $mx{$rr->name}
1928 0 2 20 ref $rec && $rec->{'ip'}

or 2 conditions

line l !l condition
462 0 0 $timeout || 20
483 0 0 $answer || [$q, $resolver->errorstring]
560 34 0 $err ||= 'unknown error'
1175 534 1034 $qual or '+'
1199 12 0 eval { do { $ip = inet_pton(10, $ip) } } or die "bad ip '${ip}' in '${_}'\n"
1206 282 232 $arg ||= ''
1222 72 0 $err[2]{'problem'} || 'Invalid domain name'
1232 20 30 $arg || ''
1241 52 6 $arg || ''
1248 152 12 $arg || ''
1262 138 0 $arg || ''
1265 6 0 $err[2]{'problem'} || 'Invalid domain name'
1271 152 0 $arg || ''
1274 12 0 $err[2]{'problem'} || 'Invalid domain name'
1284 30 0 $arg || ''
1842 10 222 $macro_delim ||= '.'
1862 0 0 $self->{'myname'} || 'unknown'

or 3 conditions

line l !l&&r !l&&!r condition
258 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 } }
373 994 0 0 $ip4 or $ip6
463 0 0 0 $resolver ||= 'Net::DNS::Resolver'->new
486 0 0 0 $status or @ans
513 508 0 4217 $v =~ /[\s;()]/ or $v eq ''
608 30 0 4 not $self->{'tmpresult'} or $ResultQ{$self->{'tmpresult'}[0]} < $ResultQ{&SPF_TempError}
642 248 0 1585 not @answer or $rcode ne 'NOERROR'
802 0 72 44 $rv[0] eq 'TempError' or $rv[0] eq 'PermError'
1009 458 2004 0 $rx ||= qr/.*?/
1177 358 156 272 $mech eq 'a' or $mech eq 'mx'
1609 34 0 0 $self->{'clientip4'} || $self->{'clientip6'}
1863 62 0 0 $self->{'clientip4'} || $self->{'clientip6'}
1955 0 0 20 $rcode ne 'NOERROR' or not @$ans