Condition Coverage

blib/lib/Sys/Cmd.pm
Criterion Covered Total %
condition 45 88 51.1


and 3 conditions

line !l l&&!r l&&r condition
226 0 0 39 @cmd and defined $cmd[0]
228 2 0 37 "CODE" ne ref $cmd[0] and not $opts->{'mock'}
441 6 0 2 "ARRAY" eq ref $input and @$input

or 2 conditions

line l !l condition
80 0 2 delete $_[0]{'dir'} or Carp::confess('Sys::Cmd dir: ' . $@)
105 98 0 $_[0]{'cmd'} // undef
106 8 24 $_[0]{'dir'} // undef
119 49 13 $_[0]{'env'} // undef
120 3 4 $_[0]{'err'} // undef
121 3 4 $_[0]{'exit'} // undef
122 8 23 $_[0]{'input'} // undef
123 0 0 $_[0]{'log_any'} // undef
132 0 0 $_[0]{'mock'} // undef
137 2 30 $_[0]{'on_exit'} // undef
139 4 3 $_[0]{'out'} // undef
215 28 13 $opts //= {}
278 30 0 fileno $child_in || die("open: $!")
279 30 0 fileno $child_out || die("open: $!")
280 30 0 fileno $child_err || die("open: $!")
296 30 0 fileno $old_fd0 || die("open: $!")
297 30 0 fileno $old_fd1 || die("open: $!")
298 30 0 fileno $old_fd2 || die("open: $!")
302 180 0 close $_ or die "close: $!"
322 2 0 shift() // die("need encoding")
323 2 0 shift() // die("need code")
397 49 13 $self->env // {}
407 8 0 chdir $dir or die "chdir: $!"

or 3 conditions

line l !l&&r !l&&!r condition
38 0 35 0 ref $class || $class
39 33 2 0 $_NEW{$CLASS} //= do { my(%seen, @new, @build); my(@possible) = $CLASS; while (@possible) { my $c = shift @possible; no strict 'refs'; push @new, $c . '::_NEW' if exists &{$c . '::_NEW';}; push @build, $c . '::BUILD' if exists &{$c . '::BUILD';}; ++$seen{$c}; if (exists &{$c . '::DOES';}) { push @possible, grep({not $seen{$_}++;} $c->DOES("*")); } ; push @possible, grep({not $seen{$_}++;} @{$c . '::ISA';}); } ; [[reverse(@new)], [reverse(@build)]] }
77 0 0 0 delete $_[0]{'cmd'} or Carp::confess('Sys::Cmd cmd: ' . $@)
84 0 0 0 delete $_[0]{'encoding'} or Carp::confess('Sys::Cmd encoding: ' . $@)
88 0 0 0 delete $_[0]{'env'} or Carp::confess('Sys::Cmd env: ' . $@)
91 0 0 0 delete $_[0]{'mock'} or Carp::confess('Sys::Cmd mock: ' . $@)
103 0 2 30 $_[0]{'_coderef'} //= $Sys::Cmd::_FIELDS->{'_coderef'}{'default'}->($_[0])
110 33 32 0 $_[0]{'encoding'} //= eval { do { $Sys::Cmd::_FIELDS->{'encoding'}{'isa'}->($Sys::Cmd::_FIELDS->{'encoding'}{'default'}) } }
114 0 0 0 delete $_[0]{'encoding'} or Carp::confess('invalid (Sys::Cmd::encoding) default: ' . $@)
128 0 0 0 delete $_[0]{'mock'} or Carp::confess('invalid (Sys::Cmd::mock) value: ' . $@)
233 1 2 2 File::Which::which($cmd[0]) || _croak('command not found: ' . $cmd[0])