Branch Coverage

blib/lib/Mojo/IOLoop/ReadWriteFork.pm
Criterion Covered Total %
branch 61 94 64.8


line true false branch
26 4 4 unless +(shift())->{'pid'}
31 0 6 unless my $fh = delete $self->{'stdin_write'}
33 2 4 if (&blessed($fh) and $fh->isa("IO::Pty"))
36 2 2 if $stream and $stream->handle eq $fh
40 0 6 unless ($fh->close)
48 23 13 ref $_[-1] eq 'HASH' ? :
56 0 1 $self->conduit->{'stdout'} ? :
75 38 4 ref $_[0] ? :
82 2 40 unless $args->{'program'}
91 13 27 if ($args->{'conduit'} eq 'pipe') { }
26 1 elsif ($args->{'conduit'} eq 'pty') { }
1 0 elsif ($args->{'conduit'} eq 'pty3') { }
108 3 37 if $args->{'stderr'}
113 0 40 unless defined($self->{'pid'} = fork)
114 36 4 $self->{'pid'} ? :
120 2 2 if (my $pty = &blessed($fh->{'stdin_write'}) && $fh->{'stdin_write'}->isa('IO::Pty') && $fh->{'stdin_write'})
123 0 2 if $args->{'raw'}
124 0 2 if $args->{'clone_winsize_from'}
130 0 4 unless open STDIN, "<&" . fileno($fh->{'stdin_read'})
131 4 0 if $stdout_no
132 4 0 if $stderr_no
133 4 0 $stdout_no ? :
134 4 0 $stderr_no ? :
138 0 4 if $fh->{'stderr_read'}
143 0 4 if (ref $args->{'program'} eq 'CODE') { }
146 0 0 unless $args->{'program_args'}
147 0 0 $@ ? :
148 0 0 if length $@
151 0 4 unless $args->{'program_args'}
165 25 11 if &blessed($fh->{'stdin_write'}) and $fh->{'stdin_write'}->isa("IO::Pty")
166 1 35 if $args->{'conduit'} eq "pty3"
167 3 33 if $fh->{'stderr_read'}
168 35 1 if not $fh->{'stderr_read'} or $args->{'stdout'}
178 3 3 if $cb
180 2 4 if $self->{'stdin_write'}
187 0 0 unless my $pid = $self->{'pid'}
193 0 0 if $! == 11 or $! == 4 or $! == 11
194 0 0 if $! == 104 or $! == 32
203 38 35 if $self->{'wait_eof'} or $self->{'wait_sigchld'}
211 1 40 unless eval { do { $self->$cb(@$self{"exit_value", "signal"}); 1 } }
219 0 30 unless pipe my $read, my $write
236 6 33 $self->{'stderr_read'} ? :
242 0 22 if $! != 5
251 32 6 unless length $self->{'stdin_buffer'}
255 0 6 unless defined $written
260 0 6 if (length $self->{'stdin_buffer'}) { }
264 0 0 if $self