Branch Coverage

blib/lib/Parse/Syslog/Mail.pm
Criterion Covered Total %
branch 26 62 41.9


line true false branch
99 1 18 ref $_[0] ? :
105 0 19 unless defined $file
107 4 15 unless ($$self{'syslog'} = eval { do { 'Parse::Syslog'->new($file, %args) } })
194 13 980 unless defined $log
199 980 0 if ($$log{'program'} =~ /^(?:sendmail|sm-mta|postfix)/) { }
0 0 elsif ($$log{'program'} =~ /^courier/) { }
0 0 elsif ($$log{'program'} =~ /^qmail/) { }
0 0 elsif ($$log{'program'} =~ /^exim/) { }
200 0 980 if $text =~ /^(?:NOQUEUE|STARTTLS|TLS:)/
201 0 980 if $text =~ /prescan: (?:token too long|too many tokens|null leading token) *$/
202 0 980 if $text =~ /possible SMTP attack/
204 900 80 if $text =~ s/^(\w+): *//
205 80 900 unless $id
207 0 900 if $text =~ /^\s*(?:[<-]--|[Mm]ilter|SYSERR)/
215 3 897 if ($text =~ s/^\s*([^=]+)\s*;\s*/status=$1, /)
228 6 894 if (exists $mail{'ruleset'} and exists $mail{'arg1'})
229 0 6 if $mail{'ruleset'} eq 'check_mail'
230 6 0 if $mail{'ruleset'} eq 'check_rcpt'
231 0 6 if $mail{'ruleset'} eq 'check_relay'
233 6 0 unless (exists $mail{'status'})
234 6 0 if $mail{'reject'}
235 0 6 if $mail{'quarantine'}
243 0 0 if $text =~ /^(?:NOQUEUE|STARTTLS|TLS:)/
252 0 0 if $text =~ s/^(\d+\.\d+) //
254 0 0 if $text =~ /^(?:status|bounce|warning)/
257 0 0 if $text =~ s/^(new|end) msg (\d+)$// and $mail{'status'} = "$1 message" and $mail{'id'} = $2
261 0 0 if $text =~ s[^(triple bounce: discarding bounce)/(\d+)$][] and $mail{'status'} = $1 and $mail{'id'} = $2
265 0 0 if $text =~ s/^info msg (\d+): bytes (\d+) from (<[^>]*>) // and $mail{'id'} = $1 and $mail{'size'} = $2
269 0 0 if $text =~ s/^(starting delivery (\d+)): msg (\d+) to (local|remote) (.+)$// and $mail{'status'} = $1 and $mail{'id'} = $3 and $delivery2id{$2} = $3 and $mail{'delivery_id'} = $2 and $mail{'delivery_type'} = $4
273 0 0 if $text =~ s/^delivery (\d+): +// and $mail{'delivery_id'} = $1
277 0 0 if $text =~ s/^(success|deferral|failure): +(\S+)// and $mail{'status'} = "$1: $2"