Condition Coverage

blib/lib/Doit.pm
Criterion Covered Total %
condition 104 217 47.9


and 3 conditions

line !l l&&!r l&&r condition
46 0 0 44 !(($ENV{'TERM'} || '') =~ /^(|dumb)$/) && eval { do { require Term::ANSIColor; 1 } }
259 0 0 0 -f $prog and -x $prog
260 0 0 0 -f "$prog.bat" and -x "$prog.bat"
261 0 0 0 -f "$prog.com" and -x "$prog.com"
262 0 0 0 -f "$prog.exe" and -x "$prog.exe"
263 0 0 0 -f "$prog.cmd" and -x "$prog.cmd"
265 0 0 0 -f $prog and -x $prog
274 0 0 0 -f "$_\\$prog" and -x "$_\\$prog"
275 0 0 0 -f "$_\\$prog.bat" and -x "$_\\$prog.bat"
276 0 0 0 -f "$_\\$prog.com" and -x "$_\\$prog.com"
277 0 0 0 -f "$_\\$prog.exe" and -x "$_\\$prog.exe"
278 0 0 0 -f "$_\\$prog.cmd" and -x "$_\\$prog.cmd"
280 102 0 8 -x "$_/$prog" and not -d "$_/$prog"
313 0 0 0 $text ne "" and not $text =~ /[ \t\n\x0a\x0b\x0c\x0d\x85"]/
320 0 0 0 $i < @text and $text[$i] eq "\\"
443 0 17 17 @args and ref $args[0] eq "HASH"
483 0 10 2 @args and ref $args[0] eq "HASH"
518 2 5 0 $uid != -1 and $s[4] != $uid
5 2 0 $gid != -1 and $s[5] != $gid
568 5 2 2 $if and not &$if()
571 2 4 3 $doit and $unless
6 2 1 $doit and $unless and &$unless()
574 3 3 3 $doit and $creates
6 2 1 $doit and $creates and -e $creates
706 1 13 3 @args and ref $args[0] eq "HASH"
828 0 3 8 @args and ref $args[0] eq "HASH"
851 0 2 1 @args and ref $args[0] eq "HASH"
898 0 2 36 @args and ref $args[0] eq "HASH"
934 0 2 1 @args and ref $args[0] eq "HASH"
953 0 6 138 @args and ref $args[0] eq "HASH"
981 0 3 131 @args and ref $args[0] eq "HASH"
1068 0 92 46 @args and ref $args[0] eq "HASH"
1102 0 1 0 @args and ref $args[0] eq "HASH"
1238 1 19 12 @args and ref $args[0] eq "HASH"
1315 1 43 3 @args and ref $args[0] eq "HASH"
1318 45 2 0 $check and ref $check ne "CODE"
1846 0 0 0 $fast_tries and eval { do { require Time::HiRes; 1 } }
1851 0 0 0 $try <= $fast_tries && defined &Time::HiRes::sleep
1887 0 5 2 defined $rettype and $rettype eq "e"
0 0 5 defined $rettype and $rettype eq "r"
1939 0 0 0 not $self->{'excl'} and -e $sockpath
2179 0 0 0 defined $umask and not $umask =~ /^\d+$/

or 2 conditions

line l !l condition
88 0 54 delete $opts{'__level'} || 'auto'
270 14 0 $Config::Config{'path_sep'} || ':'
1239 10 22 delete $options{'quiet'} || 0
1348 4 6 defined $_->{'add_after'} || 0
2 8 defined $_->{'add_after_first'} || 0
2 8 defined $_->{'add_before'} || 0
2 8 defined $_->{'add_before_last'} || 0
1833 0 0 delete $opts{'code'} || die('code is mandatory')
1834 0 0 delete $opts{'tries'} || 20
1836 0 0 delete $opts{'slow_sleep'} || 1
1837 0 0 delete $opts{'fast_sleep'} || 0.1
2174 0 0 delete $opts{'put_to_remote'} || 'rsync_put'
2177 0 0 delete $opts{'perl'} || 'perl'
2207 0 0 $bootstrap || ''

or 3 conditions

line l !l&&r !l&&!r condition
183 2 0 100 not defined $pwd or $pwd eq ""
348 0 0 0 $char eq "'" or $char eq "\""
0 0 0 $char eq "<" or $char eq ">"
0 0 0 $char eq "<" or $char eq ">" or $char eq "|"
395 0 34 0 $self->{'runner'} ||= "Doit::Runner"->new($self)
401 0 7 0 $self->{'dryrunner'} ||= "Doit::Runner"->new($self, "dryrun", 1)
514 7 2 1 $uid != -1 or $gid != -1
721 7 4 4 not -e $real_to or do { require File::Compare; File::Compare::compare($from, $real_to) != 0 }
836 0 1 2 $quiet || $info
917 0 1 3 $quiet || $info
965 19 1 2 $quiet || $info
1028 1 1 1 not defined $ENV{$key} or $ENV{$key} ne $val
1152 24 1 3 -e $file or -l $file
1186 0 1 0 $now ||= time
1189 1 0 0 $now ||= time
1196 8 1 1 $s[8] != $atime or $s[9] != $mtime
1339 4 2 20 defined $_->{'add_after'} or defined $_->{'add_after_first'}
6 2 18 defined $_->{'add_after'} or defined $_->{'add_after_first'} or defined $_->{'add_before'}
4 2 16 defined $_->{'add_after'} or defined $_->{'add_after_first'} or defined $_->{'add_before'} or defined $_->{'add_before_last'}
1835 0 0 0 delete $opts{'fast_tries'} || int $tries / 2
2078 0 0 0 delete $opts{'perl'} || $^X