Branch Coverage

lib/Mojo/IOLoop/ReadWriteProcess.pm
Criterion Covered Total %
branch 194 232 83.6


line true false branch
67 202 176 if ref $_[1] eq "CODE"
18 8 if ref $_[1] eq "CODE"
73 3 23 unless $self->read_stream
17 9 unless $self->read_stream
79 0 1 unless $$ == $me
18 8 unless $$ == $me
80 0 1 unless defined $self->_status
17 8 unless defined $self->_status
101 3 0 if $self->verbose
107 0 27 unless $self
16 0 unless $self
109 27 0 unless defined $self->_status
0 0 unless defined $self->_status
127 22 28 $self->separate_err ? :
0 0 $self->separate_err ? :
129 8 42 unless defined $pid
134 3 39 unless $self->set_pipes
138 21 18 $self->separate_err ? :
145 14 480 if $_[0]->pidfile
155 0 21 unless defined $self->_status
156 0 4 if $self->execute
157 4 0 if $self->code
166 1 238 unless $self
173 238 0 unless defined $self->_status
177 183 55 if ($self->_internal_return)
178 0 183 $self->_internal_return->isa('IO::Pipe::End') ? :
182 0 183 unless "IO::Select"->new($return_reader)->can_read(10)
188 152 30 $rt ? :
1 182 $self->serialize ? :
192 184 54 if ($self->_internal_err)
193 1 183 $self->_internal_err->isa('IO::Pipe::End') ? :
197 1 183 unless "IO::Select"->new($internal_err_reader)->can_read(10)
202 60 123 if @result_error
215 2 211 unless ref $code eq "CODE"
224 162 49 if ($self->set_pipes)
225 7 155 unless $input_pipe = "IO::Pipe"->new
227 2 160 unless $output_pipe = "IO::Pipe"->new
229 2 160 unless $output_err_pipe = "IO::Pipe"->new
231 157 5 if ($self->channels)
232 3 159 unless $channel_in = "IO::Pipe"->new
234 3 159 unless $channel_out = "IO::Pipe"->new
238 204 7 if ($self->internal_pipes)
239 2 207 unless my $internal_err = "IO::Pipe"->new
241 2 207 unless my $internal_return = "IO::Pipe"->new
256 5 206 unless defined $pid
258 20 186 if ($pid == 0)
265 20 0 if ($self->internal_pipes)
266 19 1 if ($self->_internal_err)
267 0 19 $self->_internal_err->isa('IO::Pipe::End') ? :
274 19 1 if ($self->_internal_return) { }
275 0 19 $self->_internal_return->isa('IO::Pipe::End') ? :
287 19 1 if ($self->set_pipes)
292 18 1 if $output_pipe
293 17 1 $output_err_pipe ? :
1 18 !$self->separate_err ? :
297 18 1 if $input_pipe
298 18 1 if $stderr
302 18 1 if $stdout
306 18 1 if $stdin
314 19 0 if ($self->channels)
316 18 1 if $channel_in
317 18 1 if $channel_out
330 0 0 if ($internal_err)
331 0 0 if $@
332 0 0 if not $@ and $!
334 0 0 if not $self->serialize and ref $rt eq "ARRAY" and scalar @$rt == 1
336 0 0 if $self->serialize and $return
338 0 0 if $return
343 48 138 unless $self->set_pipes
345 137 1 if $output_pipe
346 131 1 $output_err_pipe ? :
6 132 !$self->separate_err ? :
349 137 1 if $input_pipe
351 138 0 if ($self->set_pipes)
352 138 0 if ($self->channels)
353 137 1 if $channel_in
354 137 1 if $channel_out
388 8 19 !!@{(shift())->error;} ? :
391 2 20 $st & 128 ? :
394 34 16 defined $_[0]->_status ? :
3 50 if (defined $_[0]->_status and $_[0]->quirkiness) { }
400 19 31 $_[0]->is_running ? :
406 241 1285 unless my $pid = $self->process_id
407 19 1251 $self->kill_whole_group ? :
412 29 272 if $pidfile
413 2 287 unless $self->pid
414 240 21 unless $self->pidfile
423 15 21 unless $stream
428 7 102 unless "IO::Select"->new($_[0])->can_read(10)
433 9 7 unless "IO::Select"->new($_[0])->can_read(10)
434 2 5 wantarray ? :
459 1 7 unless $_[0]->separate_err
465 0 15 unless $_[0]->separate_err
471 0 249 if $self->is_running
472 2 206 if not $self->execute and not $self->code
477 8 48 ref $self->args eq 'ARRAY' ? :
56 186 defined $self->args ? :
481 45 197 if $self->subreaper
490 230 1 if $old_emit_from_sigchld
493 206 36 if ($self->code) { }
36 0 elsif ($self->execute) { }
511 28 242 unless $self->kill_whole_group or $self->is_running
521 4 246 unless defined $pid
522 180 50 unless $self->is_running
530 3 75 if $self->kill_whole_group
543 222 32 if ($send_signal)
548 56 198 if $ret == $pid or $ret == -1
550 243 11 if ($sleep_time)
555 39 22 if defined $self->_status
557 22 0 if $self->kill_sleeptime
559 16 23 if ($self->blocking_stop) { }
566 15 1 if $ret == $pid or $ret == -1
578 1 246 unless $self->pid
586 78 168 if $wait and not defined $self->_status
588 68 167 unless defined $self->_status
590 81 159 if $self->error and $self->error->size > 0