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 46 !(($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 122 0 12 -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 37 @args and ref $args[0] eq "HASH"
935 0 2 1 @args and ref $args[0] eq "HASH"
954 0 7 138 @args and ref $args[0] eq "HASH"
982 0 3 131 @args and ref $args[0] eq "HASH"
1069 0 92 47 @args and ref $args[0] eq "HASH"
1096 0 2 0 @args and ref $args[0] eq "HASH"
1232 1 19 12 @args and ref $args[0] eq "HASH"
1309 1 43 3 @args and ref $args[0] eq "HASH"
1312 45 2 0 $check and ref $check ne "CODE"
1547 36 0 0 $^O eq "MSWin32" and $diff_cmd[0] eq "fc"
1555 0 36 0 not $cannot_use_dash and eval { do { require IPC::Run; 1 } }
1880 0 0 0 $fast_tries and eval { do { require Time::HiRes; 1 } }
1885 0 0 0 $try <= $fast_tries && defined &Time::HiRes::sleep
1921 0 9 2 defined $rettype and $rettype eq "e"
0 0 9 defined $rettype and $rettype eq "r"
1973 0 0 0 not $self->{'excl'} and -e $sockpath
2213 0 0 0 defined $umask and not $umask =~ /^\d+$/

or 2 conditions

line l !l condition
88 0 54 delete $opts{'__level'} || 'auto'
270 18 0 $Config::Config{'path_sep'} || ':'
1233 10 22 delete $options{'quiet'} || 0
1342 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
1867 0 0 delete $opts{'code'} || die('code is mandatory')
1868 0 0 delete $opts{'tries'} || 20
1870 0 0 delete $opts{'slow_sleep'} || 1
1871 0 0 delete $opts{'fast_sleep'} || 0.1
2208 0 0 delete $opts{'put_to_remote'} || 'rsync_put'
2211 0 0 delete $opts{'perl'} || 'perl'
2241 0 0 $bootstrap || ''

or 3 conditions

line l !l&&r !l&&!r condition
183 2 0 101 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 37 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
1146 24 1 3 -e $file or -l $file
1180 0 1 0 $now ||= time
1183 1 0 0 $now ||= time
1190 8 1 1 $s[8] != $atime or $s[9] != $mtime
1333 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'}
1563 0 0 36 $^O eq "MSWin32" or $cannot_use_dash
1869 0 0 0 delete $opts{'fast_tries'} || int $tries / 2
2112 0 0 0 delete $opts{'perl'} || $^X