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 55 0 0 $self->{'debug'} and $self->{'debug'} eq '1'
533 54 0 48 ref $suppl_attrib and exists $suppl_attrib->{'master_deadline'}
815 0 0 2 defined $opts and $opts->{'username'}
820 0 0 2 defined $opts and $opts->{'user_dir'}
825 0 2 0 defined $opts and $opts->{'userstate_dir'}
844 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'}
1119 0 0 0 $ct eq 'message/rfc822' and $cd eq $self->{'conf'}{'encapsulated_content_description'}
1200 0 0 0 $hdrs =~ /^X-Spam-Prev-Subject:\s*\(nonexistent\)$/m and not $hdrs =~ /^Subject:.*\(nonexistent\).*$/m
1376 0 0 1 defined $deal_with_userstate and $deal_with_userstate
1378 2 54 60 defined $v and not ref $v
56 59 1 defined $v and not ref $v and $v =~ /__userstate__/
1622 0 0 0 defined $start and !defined($earliest) || $earliest > $start
1626 0 0 0 defined $end and !defined($latest) || $latest < $end
1629 0 0 0 defined $start and not defined $end
1631 0 0 0 defined $latest && defined $earliest
1697 53 2 0 $self->{'require_rules'} and not $cftext =~ /\S/
1707 0 0 55 $siterules and not $self->{'ignore_site_cf_files'}
1724 0 0 1 $stat_errn == 0 and -f _
1767 53 2 0 $self->{'require_rules'} and not $self->{'conf'}->found_any_rules
1781 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'}
1823 0 34 32 -f _ and -s _
34 0 32 -f _ and -s _ and -r _
1897 0 50 0 $stat_errn == 0 and not -d _
50 0 0 $stat_errn != 0 and $stat_errn != 2
1986 0 0 0 $< == 0 and $> == 0
0 0 0 $< == 0 and $> == 0 and defined $user
2009 0 0 0 $userprofile and $userprofile =~ m(^[a-z]\:[/\\])io
2012 0 0 0 $home and $home =~ m(^[a-z]\:[/\\])io
2017 0 0 16 $home and $home =~ m[/]o
2103 184 184 2036 $_ ne '.' and $_ ne '..'
368 1041 995 $_ ne '.' and $_ ne '..' and /\.$type$/i
2240 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 55 $self->{'PREFIX'} ||= '@@PREFIX@@'
413 0 55 $self->{'DEF_RULES_DIR'} ||= '@@DEF_RULES_DIR@@'
414 0 55 $self->{'LOCAL_RULES_DIR'} ||= '@@LOCAL_RULES_DIR@@'
415 0 55 $self->{'LOCAL_STATE_DIR'} ||= '@@LOCAL_STATE_DIR@@'
434 0 55 $self->{'save_pattern_hits'} ||= 0
1095 0 0 $mail_obj->get_mbox_separator || ''
1101 0 0 $mail_obj->get_header('Content-Type') || ''
1635 0 0 $self->{'timers'}{$name}{'elapsed'} || 0
2004 16 0 $self->{'user_dir'} || $ENV{'HOME'} || ''
2007 0 0 $ENV{'USERPROFILE'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
391 0 55 0 ref $class || $class
427 0 0 55 would_log('dbg', 'timing') or $self->{'needed_tags'}{'TIMING'}
431 0 55 0 $self->{'conf'} ||= 'Mail::SpamAssassin::Conf'->new($self)
539 102 0 0 not defined $master_deadline or $time_limit_deadline < $master_deadline
1114 0 0 0 $msg[$i] =~ /^--$boundary\r?$/ or $flag
1119 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'}
1622 0 0 0 !defined($earliest) || $earliest > $start
1626 0 0 0 !defined($latest) || $latest < $end
1636 0 0 0 $total <= 0 || $elapsed >= $total
1676 55 0 0 $siterules ||= $self->first_existing_path(@site_rules_path)
1679 55 0 0 $sysrules ||= $self->first_existing_path(@default_rules_path)
1716 50 0 0 $fname ||= $self->first_existing_path(@default_userprefs_path)
1721 1 0 0 $fname ||= $self->sed_path($default_userprefs_path[-1])
1883 34 16 0 $fname ||= $self->first_existing_path(@default_userstate_dir)
1887 50 0 0 $fname ||= $self->sed_path($default_userstate_dir[-1])
2036 1 0 0 $self->{'PREFIX'} or $Mail::SpamAssassin::Config{'prefix'}
2240 2 1 0 defined $source and ref $source eq 'HASH' or defined $dest and ref $dest eq 'HASH'