Branch Coverage

blib/lib/IPC/Run3.pm
Criterion Covered Total %
branch 101 128 78.9


line true false branch
101 2 4 $mode =~ /^:/ ? :
267 6 !$mode ? :
106 2 270 unless $layer eq ":raw"
107 0 273 unless binmode $fh, $layer
115 0 97 unless defined $source
118 2 94 if (not $type) { }
1 93 elsif ($type eq 'FH') { }
119 0 2 unless open $fh, "<", $source
133 90 3 if ($type eq 'SCALAR') { }
2 1 elsif ($type eq 'ARRAY') { }
1 0 elsif ($type eq 'CODE') { }
140 82 8 unless defined $$source
150 0 8 unless print $fh $$source
158 0 2 unless print $fh @$source
166 1 2 unless defined $data
167 0 2 unless print $fh $data
172 11 0 if $seekit
176 0 14 unless defined $fh
186 68 109 if ($type eq 'SCALAR' and $dest == \(undef)) { }
1 108 elsif ($type eq 'FH') { }
2 106 elsif (not $type) { }
202 1 1 $$options{"append_$what"} ? :
0 2 unless open $fh, $$options{"append_$what"} ? ">>" : ">", $dest
222 68 106 if $type eq "SCALAR" and $dest == \(undef)
224 0 106 unless seek $fh, 0, 0
226 103 3 if ($type eq 'SCALAR') { }
2 1 elsif ($type eq 'ARRAY') { }
1 0 elsif ($type eq 'CODE') { }
233 2 101 $$options{"append_$what"} ? :
235 0 186 unless defined $count
238 103 83 unless $count
248 1 1 if ($$options{"append_$what"}) { }
288 0 306 if eval { do { local $SIG{'__DIE__'}; $redir->isa("IO::Handle") } }
294 2 304 $type eq 'GLOB' ? :
310 9 94 @_ && ref $_[-1] eq 'HASH' ? :
319 102 1 if (ref $cmd) { }
320 0 102 unless @$cmd
321 0 102 unless defined $cmd->[0]
322 0 102 unless length $cmd->[0]
324 1 0 unless @_
325 0 0 unless defined $cmd
326 0 0 unless length $cmd
330 5 301 if (my $mode = $options->{$_})
331 0 5 unless $mode =~ /^(:|\d+$)/
340 6 96 if ($fh_cache_pid != $$)
353 96 6 if defined $stdin
355 95 7 if defined $stdout
361 2 82 $tie_err_to_out ? :
84 18 if defined $stderr
371 96 6 defined $in_fh ? :
375 95 7 if defined $out_fh
377 84 18 if defined $err_fh
385 96 6 if defined $in_fh
393 95 7 if defined $out_fh
397 84 18 if defined $err_fh
406 102 0 ref $cmd ? :
420 0 102 if (defined $r and $r == -1 || 0 and not $options->{'return_if_system_error'})
434 96 6 if (defined $saved_fd0)
441 95 7 if defined $out_fh
443 84 18 if defined $err_fh
446 0 102 if @errs
448 0 102 unless $ok
450 92 3 if defined $out_fh and $out_type and $out_type ne "FH"
452 82 2 if defined $err_fh and $err_type and $err_type ne "FH" and not $tie_err_to_out