Condition Coverage

blib/lib/Sys/Cmd/Process.pm
Criterion Covered Total %
condition 25 52 48.0


or 2 conditions

line l !l condition
89 18 0 $_[0]{'cmd'} // undef
104 2 29 $_[0]{'on_exit'} // undef
106 160 0 $_[0]{'pid'} // undef
117 166 0 $_[0]{'stderr'} // undef
118 179 0 $_[0]{'stdin'} // undef
119 152 0 $_[0]{'stdout'} // undef
206 0 0 $self->pid // -1
216 62 0 $self->pid // (return)

or 3 conditions

line l !l&&r !l&&!r condition
15 0 31 0 ref $class || $class
16 29 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)]] }
58 0 0 0 delete $_[0]{'_ret'} or Carp::confess('Sys::Cmd::Process _ret: ' . $@)
61 0 0 0 delete $_[0]{'cmd'} or Carp::confess('Sys::Cmd::Process cmd: ' . $@)
75 0 0 0 delete $_[0]{'_ret'} or Carp::confess('invalid (Sys::Cmd::Process::_ret) value: ' . $@)
79 116 0 1 $_[0]{'_ret'} //= eval { do { $Sys::Cmd::Process::_FIELDS->{'_ret'}{'isa'}->($Sys::Cmd::Process::_FIELDS->{'_ret'}{'default'}->($_[0])) } }
83 0 1 0 delete $_[0]{'_ret'} or Carp::confess('invalid (Sys::Cmd::Process::_ret) default: ' . $@)
93 0 0 24 $_[0]{'core'} //= $Sys::Cmd::Process::_FIELDS->{'core'}{'default'}->($_[0])
98 86 2 29 $_[0]{'exit'} //= $Sys::Cmd::Process::_FIELDS->{'exit'}{'default'}->($_[0])
110 55 4 27 $_[0]{'signal'} //= $Sys::Cmd::Process::_FIELDS->{'signal'}{'default'}->($_[0])
115 31 0 0 $_[0]{'status'} //= $Sys::Cmd::Process::_FIELDS->{'status'}{'default'}
293 2 4 25 $self->exit || $self->signal