Branch Coverage

blib/lib/IO/Async/Routine.pm
Criterion Covered Total %
branch 31 70 44.2


line true false branch
210 0 0 'IO::Async::OS'->HAVE_THREADS ? :
12 0 'IO::Async::OS'->HAVE_POSIX_FORK ? :
234 448 218 if exists $params{$_}
238 0 74 if defined $self->{'code'} and defined $self->{'func'}
240 0 74 if defined $self->{'func'} and not defined $self->{'module'}
242 74 0 if (defined(my $model = delete $params{'model'}))
243 0 74 unless $SETUP_CODE{$model} ||= $self->can("_setup_$model")
247 0 74 if $model eq 'fork' and not 'IO::Async::OS'->HAVE_POSIX_FORK
249 0 74 if $model eq 'thread' and not 'IO::Async::OS'->HAVE_THREADS
266 0 74 unless my $code = ($SETUP_CODE{$model} ||= $self->can("_setup_$model"))
280 9 65 unless $self->{'channels_in'}
282 65 1 unless ($rd = $ch->_extract_read_handle)
297 8 66 unless $self->{'channels_out'}
299 67 0 unless ($wr = $ch->_extract_write_handle)
316 65 1 unless $ch->parent
328 67 0 unless $ch->parent
347 1 69 if $setup
356 0 1 if (defined $module)
360 0 0 unless $code = $module->can($func)
373 0 9 unless my $self = shift()
377 9 0 unless ($exitcode & 127)
383 0 4 unless my $self = shift()
419 0 0 if (defined $func)
423 0 0 unless $code = $module->can($func)
436 0 0 unless my $self = shift()
440 0 0 if ($ev eq 'return')
444 0 0 if ($ev eq 'died')
477 0 4 if $self->{'code'}
479 0 4 unless @{$self->{'channels_in'};} == 1
481 0 4 unless @{$self->{'channels_out'};} == 1
497 0 0 unless my $self = shift()
501 0 0 unless ($exitcode & 127)
507 0 0 unless my $self = shift()
575 2 0 if $self->{'model'} eq 'fork'
576 0 2 if $self->{'model'} eq 'thread'