Branch Coverage

blib/lib/IPC/Run/IO.pm
Criterion Covered Total %
branch 94 130 72.3


line true false branch
78 0 231 if (&Win32_MODE())
79 0 0 unless eval "use IPC::Run::Win32Helper; require IPC::Run::Win32IO; 1" or $@ and die
106 1 8 unless $type =~ /^(?:<>?)$/
111 7 1 if (not ref $external) { }
1 0 elsif (ref $external eq 'GLOB' or UNIVERSAL::isa($external, 'IO::Handle')) { }
131 0 4334 if &Win32_MODE() and $class eq "IPC::Run::IO"
149 2825 1509 if ($self->op =~ />/) { }
150 0 2825 if &_empty($internal)
152 116 2709 if (UNIVERSAL::isa($self->{'DEST'}, "CODE"))
173 0 1509 if &_empty($internal)
175 71 1438 if (UNIVERSAL::isa($internal, 'CODE')) { }
1050 388 elsif (UNIVERSAL::isa($internal, 'SCALAR')) { }
180 0 88 if length $$out_ref
183 0 88 if $self->{'SOURCE_EMPTY'}
191 55 33 if (not @in or @in == 1 and not defined $in[0])
196 7 26 unless length $in
208 0 3059 if length $$out_ref
213 651 1567 $self->{'HARNESS'}{'auto_close_ins'} ? :
2218 841 if &IPC::Run::_empty(${$$self{"SOURCE"};}) or $self->{'SOURCE_EMPTY'}
223 14 827 if ($self->{'HARNESS'}{'clear_ins'} and length $$internal > $max_chunk) { }
235 259 568 if $self->{'HARNESS'}{'clear_ins'}
258 0 4 if @_
274 1 1 if $self->mode =~ /r/ and ref $self->{'DEST'} eq "SCALAR"
276 2 0 if defined $self->filename
279 0 2 if (not $self->{'FILTERS'}) { }
289 1 1 if $self->{'DEST'} and ref $self->{'DEST'} eq "SCALAR"
314 0 2 unless defined $self->{'FILENAME'}
315 2 0 unless $self->{'HANDLE'}
317 0 2 if &_debugging_data()
322 0 2 unless sysopen $self->{'HANDLE'}, $self->filename, $open_flags{$self->op}
339 1201 2518 if ($self->dir eq '<') { }
340 63 1138 if ($self->{'TYPE'} eq '
346 98 1103 if ($parent_handle)
347 2 96 ref $parent_handle eq 'SCALAR' ? :
348 0 98 unless CORE::open $fh, ">&=$self->{'FD'}"
350 2 96 if ref $parent_handle eq "SCALAR"
355 61 2457 if ($parent_handle)
356 3 58 ref $parent_handle eq 'SCALAR' ? :
357 0 61 unless CORE::open $fh, "<&=$self->{'FD'}"
359 3 58 if ref $parent_handle eq "SCALAR"
369 0 3719 if defined $self->{'FILENAME'}
376 1201 2518 $self->dir eq '<' ? :
394 2 3231 if (defined $self->{'HANDLE'}) { }
400 0 0 defined $self->{'FILENAME'} ? :
0 2 unless CORE::close $self->{'HANDLE'}
429 0 0 defined $self->{'FILENAME'} ? :
0 4 unless defined $fd
460 0 10 if @_
463 5 5 $self->{'TYPE'} =~ /
2 8 $self->{'TYPE'} =~ /<<|>>/ ? :
476 0 4336 if @_
491 4334 0 if @_
505 0 22728 if @_
524 0 4475 unless UNIVERSAL::isa($self, "IPC::Run::IO")
528 2368 2107 if $self->{'DEST'} and ref $self->{'DEST'} eq "SCALAR"
530 2887 1588 unless $self->{'FILTERS'} and @{$self->{'FILTERS'};}
552 15290 46 if (defined $self->{'FD'})
554 2076 13214 if ($d eq '<') { }
13214 0 elsif ($d eq '>') { }
555 1530 546 if (vec $harness->{'WOUT'}, $self->{'FD'}, 1)
556 0 1530 if &_debugging_details()
562 4217 8997 if (vec $harness->{'ROUT'}, $self->{'FD'}, 1)
563 0 4217 if &_debugging_details()
587 0 8610 if (($@ || '') =~ /$IPC::Run::_EAGAIN/ and $redos++ < 200)
594 0 8610 if $@