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) } }
643 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
713 1585 0 0 not @ans and @names > 1
768 2687 112 20 $self->{'result'} and not @rv
830 1062 2 0 $self->{'tmpresult'} and $ResultQ{$self->{'tmpresult'}[0]} > $ResultQ{$rv[0]}
907 0 0 0 $domain->{'macro'} and my(@rv) = $self->_resolve_macro_p($domain)
1011 12 72 2378 $domain =~ /[^\d.]/ and $domain =~ s/^($rx)\.?$/$1/
1132 12 28 0 not $self->{'mech'} and my $default = $self->{'opt'}{'default_spf'}
1293 20 200 6 $qual eq 'Pass' and $_->[0] == \&Mail::SPF::Iterator::_mech_all
1423 0 0 285 $addr =~ /^[\d.]+$/ && eval { do { inet_aton($addr) } }
1531 6 0 40 $rr->type eq $atyp and exists $mx{$rr->name}
1927 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]
559 34 0 $err ||= 'unknown error'
1174 534 1034 $qual or '+'
1198 12 0 eval { do { $ip = inet_pton(10, $ip) } } or die "bad ip '${ip}' in '${_}'\n"
1205 282 232 $arg ||= ''
1221 72 0 $err[2]{'problem'} || 'Invalid domain name'
1231 20 30 $arg || ''
1240 52 6 $arg || ''
1247 152 12 $arg || ''
1261 138 0 $arg || ''
1264 6 0 $err[2]{'problem'} || 'Invalid domain name'
1270 152 0 $arg || ''
1273 12 0 $err[2]{'problem'} || 'Invalid domain name'
1283 30 0 $arg || ''
1841 10 222 $macro_delim ||= '.'
1861 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
512 0 3289 1436 $v eq '' or $v =~ m[[^0-9a-zA-Z!#$%&'*+\-/=?^_`{|}~]]
607 30 0 4 not $self->{'tmpresult'} or $ResultQ{$self->{'tmpresult'}[0]} < $ResultQ{&SPF_TempError}
641 248 0 1585 not @answer or $rcode ne 'NOERROR'
801 0 72 44 $rv[0] eq 'TempError' or $rv[0] eq 'PermError'
1008 458 2004 0 $rx ||= qr/.*?/
1176 358 156 272 $mech eq 'a' or $mech eq 'mx'
1608 34 0 0 $self->{'clientip4'} || $self->{'clientip6'}
1862 62 0 0 $self->{'clientip4'} || $self->{'clientip6'}
1954 0 0 20 $rcode ne 'NOERROR' or not @$ans