Branch Coverage

blib/lib/IPC/Run/IO.pm
Criterion Covered Total %
branch 79 118 66.9


line true false branch
77 0 117 if (&Win32_MODE())
78 0 0 unless eval 'use IPC::Run::Win32Helper; require IPC::Run::Win32IO; 1' or $@ and die
105 0 7 unless $type =~ /^(?:<>?)$/
110 7 0 if (not ref $external) { }
0 0 elsif (ref $external eq 'GLOB' or UNIVERSAL::isa($external, 'IO::Handle')) { }
130 0 2444 if &Win32_MODE() and $class eq 'IPC::Run::IO'
148 1543 901 if ($self->op =~ />/) { }
149 0 1543 if &_empty($internal)
151 98 1445 if (UNIVERSAL::isa($self->{'DEST'}, 'CODE'))
172 0 901 if &_empty($internal)
174 68 833 if (UNIVERSAL::isa($internal, 'CODE')) { }
558 275 elsif (UNIVERSAL::isa($internal, 'SCALAR')) { }
179 0 82 if length $$out_ref
182 0 82 if $self->{'SOURCE_EMPTY'}
185 46 36 unless (defined $in)
189 7 29 unless length $in
201 0 1759 if length $$out_ref
206 485 908 $self->{'HARNESS'}{'auto_close_ins'} ? :
1393 366 if &IPC::Run::_empty(${$$self{'SOURCE'};}) or $self->{'SOURCE_EMPTY'}
210 109 257 if $self->{'HARNESS'}{'clear_ins'}
232 0 4 if @_
248 1 1 if $self->mode =~ /r/ and ref $self->{'DEST'} eq 'SCALAR'
250 2 0 if defined $self->filename
253 0 2 if (not $self->{'FILTERS'}) { }
263 1 1 if $self->{'DEST'} and ref $self->{'DEST'} eq 'SCALAR'
288 0 2 unless defined $self->{'FILENAME'}
289 2 0 unless $self->{'HANDLE'}
291 0 2 if &_debugging_data()
296 0 2 unless sysopen $self->{'HANDLE'}, $self->filename, $open_flags{$self->op}
313 640 1281 if ($self->dir eq '<') { }
315 28 612 if ($parent_handle)
316 0 28 unless CORE::open $parent_handle, ">&=$self->{'FD'}"
322 52 1229 if ($parent_handle)
323 0 52 unless CORE::open $parent_handle, "<&=$self->{'FD'}"
334 0 1921 if defined $self->{'FILENAME'}
341 640 1281 $self->dir eq '<' ? :
359 2 1669 if (defined $self->{'HANDLE'}) { }
365 0 0 defined $self->{'FILENAME'} ? :
0 2 unless CORE::close $self->{'HANDLE'}
394 0 0 defined $self->{'FILENAME'} ? :
0 4 unless defined $fd
425 0 10 if @_
428 5 5 $self->{'TYPE'} =~ /
2 8 $self->{'TYPE'} =~ /<<|>>/ ? :
441 0 2446 if @_
456 2444 0 if @_
470 0 8517 if @_
489 0 2544 unless UNIVERSAL::isa($self, 'IPC::Run::IO')
493 1140 1404 if $self->{'DEST'} and ref $self->{'DEST'} eq 'SCALAR'
495 1536 1008 unless $self->{'FILTERS'} and @{$self->{'FILTERS'};}
517 4675 32 if (defined $self->{'FD'})
519 1036 3639 if ($d eq '<') { }
3639 0 elsif ($d eq '>') { }
520 884 152 if (vec $harness->{'WOUT'}, $self->{'FD'}, 1)
521 0 884 if &_debugging_details()
527 2233 1406 if (vec $harness->{'ROUT'}, $self->{'FD'}, 1)
528 0 2233 if &_debugging_details()
552 0 5081 if (($@ || '') =~ /$IPC::Run::_EAGAIN/ and $redos++ < 200)
559 0 5081 if $@