Condition Coverage

blib/lib/Doit.pm
Criterion Covered Total %
condition 107 226 47.3


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 132 0 14 -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 "\\"
444 0 17 17 @args and ref $args[0] eq "HASH"
484 0 10 2 @args and ref $args[0] eq "HASH"
519 2 5 0 $uid != -1 and $s[4] != $uid
5 2 0 $gid != -1 and $s[5] != $gid
569 5 2 2 $if and not &$if()
572 2 4 3 $doit and $unless
6 2 1 $doit and $unless and &$unless()
575 3 3 3 $doit and $creates
6 2 1 $doit and $creates and -e $creates
707 1 13 3 @args and ref $args[0] eq "HASH"
829 0 3 8 @args and ref $args[0] eq "HASH"
852 0 2 1 @args and ref $args[0] eq "HASH"
899 0 2 36 @args and ref $args[0] eq "HASH"
935 0 2 1 @args and ref $args[0] eq "HASH"
954 0 6 138 @args and ref $args[0] eq "HASH"
982 0 3 131 @args and ref $args[0] eq "HASH"
1069 0 92 46 @args and ref $args[0] eq "HASH"
1103 0 1 0 @args and ref $args[0] eq "HASH"
1239 1 19 12 @args and ref $args[0] eq "HASH"
1316 1 43 3 @args and ref $args[0] eq "HASH"
1319 45 2 0 $check and ref $check ne "CODE"
1554 36 0 0 $^O eq "MSWin32" and $diff_cmd[0] eq "fc"
1562 0 36 0 not $cannot_use_dash and eval { do { require IPC::Run; 1 } }
1875 0 0 0 $fast_tries and eval { do { require Time::HiRes; 1 } }
1880 0 0 0 $try <= $fast_tries && defined &Time::HiRes::sleep
1916 0 5 2 defined $rettype and $rettype eq "e"
0 0 5 defined $rettype and $rettype eq "r"
1968 0 0 0 not $self->{'excl'} and -e $sockpath
2208 0 0 0 defined $umask and not $umask =~ /^\d+$/

or 2 conditions

line l !l condition
88 0 54 delete $opts{'__level'} || 'auto'
270 20 0 $Config::Config{'path_sep'} || ':'
1240 10 22 delete $options{'quiet'} || 0
1349 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
1862 0 0 delete $opts{'code'} || die('code is mandatory')
1863 0 0 delete $opts{'tries'} || 20
1865 0 0 delete $opts{'slow_sleep'} || 1
1866 0 0 delete $opts{'fast_sleep'} || 0.1
2203 0 0 delete $opts{'put_to_remote'} || 'rsync_put'
2206 0 0 delete $opts{'perl'} || 'perl'
2236 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 "|"
396 0 34 0 $self->{'runner'} ||= "Doit::Runner"->new($self)
402 0 7 0 $self->{'dryrunner'} ||= "Doit::Runner"->new($self, "dryrun", 1)
515 7 2 1 $uid != -1 or $gid != -1
722 7 4 4 not -e $real_to or do { require File::Compare; File::Compare::compare($from, $real_to) != 0 }
837 0 1 2 $quiet || $info
918 0 1 3 $quiet || $info
966 19 1 2 $quiet || $info
1029 1 1 1 not defined $ENV{$key} or $ENV{$key} ne $val
1153 24 1 3 -e $file or -l $file
1187 0 1 0 $now ||= time
1190 1 0 0 $now ||= time
1197 8 1 1 $s[8] != $atime or $s[9] != $mtime
1340 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'}
1570 0 0 36 $^O eq "MSWin32" or $cannot_use_dash
1864 0 0 0 delete $opts{'fast_tries'} || int $tries / 2
2107 0 0 0 delete $opts{'perl'} || $^X