Branch Coverage

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


line true false branch
101 2 4 $mode =~ /^:/ ? :
261 6 !$mode ? :
106 2 264 unless $layer eq ':raw'
107 0 267 unless binmode $fh, $layer
115 0 95 unless defined $source
118 2 92 if (not $type) { }
1 91 elsif ($type eq 'FH') { }
119 0 2 unless open $fh, '<', $source
133 88 3 if ($type eq 'SCALAR') { }
2 1 elsif ($type eq 'ARRAY') { }
1 0 elsif ($type eq 'CODE') { }
140 80 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 105 if ($type eq 'SCALAR' and $dest == \(undef)) { }
1 104 elsif ($type eq 'FH') { }
2 102 elsif (not $type) { }
202 1 1 $$options{"append_$what"} ? :
0 2 unless open $fh, $$options{"append_$what"} ? '>>' : '>', $dest
222 68 102 if $type eq 'SCALAR' and $dest == \(undef)
224 0 102 unless seek $fh, 0, 0
226 99 3 if ($type eq 'SCALAR') { }
2 1 elsif ($type eq 'ARRAY') { }
1 0 elsif ($type eq 'CODE') { }
232 2 97 $$options{"append_$what"} ? :
235 0 179 unless defined $count
238 99 80 unless $count
248 1 1 if ($$options{"append_$what"}) { }
288 0 300 if eval { do { local $SIG{'__DIE__'}; $redir->isa('IO::Handle') } }
294 2 298 $type eq 'GLOB' ? :
310 9 92 @_ && ref $_[-1] eq 'HASH' ? :
319 100 1 if (ref $cmd) { }
320 0 100 unless @$cmd
321 0 100 unless defined $$cmd[0]
322 0 100 unless length $$cmd[0]
324 1 0 unless @_
325 0 0 unless defined $cmd
326 0 0 unless length $cmd
330 5 295 if (my $mode = $$options{$_})
331 0 5 unless $mode =~ /^(:|\d+$)/
340 6 94 if ($fh_cache_pid != $$)
351 94 6 if defined $stdin
354 93 7 if defined $stdout
360 2 80 $tie_err_to_out ? :
82 18 if defined $stderr
370 94 6 if defined $in_fh
374 93 7 if defined $out_fh
376 82 18 if defined $err_fh
384 94 6 if defined $in_fh
392 93 7 if defined $out_fh
396 82 18 if defined $err_fh
403 100 0 ref $cmd ? :
417 0 100 if (defined $r and $r == -1 || 0 and not $$options{'return_if_system_error'})
431 94 6 if (defined $saved_fd0)
438 93 7 if defined $out_fh
440 82 18 if defined $err_fh
443 0 100 if @errs
445 0 100 unless $ok
447 90 3 if defined $out_fh and $out_type and $out_type ne 'FH'
449 80 2 if defined $err_fh and $err_type and $err_type ne 'FH' and not $tie_err_to_out