Condition Coverage

lib/Mail/SpamAssassin.pm
Criterion Covered Total %
condition 61 176 34.6


and 3 conditions

line !l l&&!r l&&r condition
399 56 0 0 $self->{'debug'} and $self->{'debug'} eq '1'
534 54 0 48 ref $suppl_attrib and exists $suppl_attrib->{'master_deadline'}
814 0 0 2 defined $opts and $opts->{'username'}
819 0 0 2 defined $opts and $opts->{'user_dir'}
824 0 2 0 defined $opts and $opts->{'userstate_dir'}
843 1 1 0 $self->{'bayes_scanner'} and $self->{'bayes_scanner'}->is_scan_available
2 0 0 $self->{'bayes_scanner'} and $self->{'bayes_scanner'}->is_scan_available and $self->{'conf'}{'use_bayes_rules'}
1118 0 0 0 $ct eq 'message/rfc822' and $cd eq $self->{'conf'}{'encapsulated_content_description'}
1199 0 0 0 $hdrs =~ /^X-Spam-Prev-Subject:\s*\(nonexistent\)$/m and not $hdrs =~ /^Subject:.*\(nonexistent\).*$/m
1375 0 0 1 defined $deal_with_userstate and $deal_with_userstate
1377 2 55 58 defined $v and not ref $v
57 57 1 defined $v and not ref $v and $v =~ /__userstate__/
1621 0 0 0 defined $start and !defined($earliest) || $earliest > $start
1625 0 0 0 defined $end and !defined($latest) || $latest < $end
1628 0 0 0 defined $start and not defined $end
1630 0 0 0 defined $latest && defined $earliest
1696 54 1 0 $self->{'require_rules'} and not $cftext =~ /\S/
1706 0 0 55 $siterules and not $self->{'ignore_site_cf_files'}
1723 0 0 1 $stat_errn == 0 and -f _
1766 54 1 0 $self->{'require_rules'} and not $self->{'conf'}->found_any_rules
1780 15 40 0 $self->{'bayes_scanner'} and $self->{'bayes_scanner'}->is_scan_available
55 0 0 $self->{'bayes_scanner'} and $self->{'bayes_scanner'}->is_scan_available and $self->{'conf'}{'use_bayes_rules'}
1822 0 34 32 -f _ and -s _
34 0 32 -f _ and -s _ and -r _
1896 0 50 0 $stat_errn == 0 and not -d _
50 0 0 $stat_errn != 0 and $stat_errn != 2
1985 0 0 0 $< == 0 and $> == 0
0 0 0 $< == 0 and $> == 0 and defined $user
2008 0 0 0 $userprofile and $userprofile =~ m(^[a-z]\:[/\\])io
2011 0 0 0 $home and $home =~ m(^[a-z]\:[/\\])io
2016 0 0 16 $home and $home =~ m[/]o
2102 184 184 1844 $_ ne '.' and $_ ne '..'
368 939 905 $_ ne '.' and $_ ne '..' and /\.$type$/i
2231 1 0 2 defined $source and ref $source eq 'HASH'
0 0 1 defined $dest and ref $dest eq 'HASH'

or 2 conditions

line l !l condition
412 0 56 $self->{'PREFIX'} ||= '@@PREFIX@@'
413 0 56 $self->{'DEF_RULES_DIR'} ||= '@@DEF_RULES_DIR@@'
414 0 56 $self->{'LOCAL_RULES_DIR'} ||= '@@LOCAL_RULES_DIR@@'
415 0 56 $self->{'LOCAL_STATE_DIR'} ||= '@@LOCAL_STATE_DIR@@'
435 0 56 $self->{'save_pattern_hits'} ||= 0
1094 0 0 $mail_obj->get_mbox_separator || ''
1100 0 0 $mail_obj->get_header('Content-Type') || ''
1634 0 0 $self->{'timers'}{$name}{'elapsed'} || 0
2003 16 0 $self->{'user_dir'} || $ENV{'HOME'} || ''
2006 0 0 $ENV{'USERPROFILE'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
391 0 56 0 ref $class || $class
427 0 0 56 would_log('dbg', 'timing') or $self->{'needed_tags'}{'TIMING'}
431 0 56 0 $self->{'conf'} ||= 'Mail::SpamAssassin::Conf'->new($self)
540 102 0 0 not defined $master_deadline or $time_limit_deadline < $master_deadline
1113 0 0 0 $msg[$i] =~ /^--$boundary\r?$/ or $flag
1118 0 0 0 $ct =~ m[^(?:message/rfc822|text/plain);\s+x-spam-type=original] or $ct eq 'message/rfc822' and $cd eq $self->{'conf'}{'encapsulated_content_description'}
1621 0 0 0 !defined($earliest) || $earliest > $start
1625 0 0 0 !defined($latest) || $latest < $end
1635 0 0 0 $total <= 0 || $elapsed >= $total
1675 55 0 0 $siterules ||= $self->first_existing_path(@site_rules_path)
1678 55 0 0 $sysrules ||= $self->first_existing_path(@default_rules_path)
1715 50 0 0 $fname ||= $self->first_existing_path(@default_userprefs_path)
1720 1 0 0 $fname ||= $self->sed_path($default_userprefs_path[-1])
1882 34 16 0 $fname ||= $self->first_existing_path(@default_userstate_dir)
1886 50 0 0 $fname ||= $self->sed_path($default_userstate_dir[-1])
2035 1 0 0 $self->{'PREFIX'} or $Mail::SpamAssassin::Config{'prefix'}
2231 2 1 0 defined $source and ref $source eq 'HASH' or defined $dest and ref $dest eq 'HASH'