Branch Coverage

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


line true false branch
211 0 0 'IO::Async::OS'->HAVE_THREADS ? :
12 0 'IO::Async::OS'->HAVE_POSIX_FORK ? :
235 448 218 if exists $params{$_}
239 0 74 if defined $self->{'code'} and defined $self->{'func'}
241 0 74 if defined $self->{'func'} and not defined $self->{'module'}
243 74 0 if (defined(my $model = delete $params{'model'}))
244 0 74 unless $SETUP_CODE{$model} ||= $self->can("_setup_$model")
248 0 74 if $model eq "fork" and not "IO::Async::OS"->HAVE_POSIX_FORK
250 0 74 if $model eq "thread" and not "IO::Async::OS"->HAVE_THREADS
267 0 74 unless my $code = ($SETUP_CODE{$model} ||= $self->can("_setup_$model"))
281 9 65 unless $self->{'channels_in'}
283 65 1 unless ($rd = $ch->_extract_read_handle)
298 8 66 unless $self->{'channels_out'}
300 67 0 unless ($wr = $ch->_extract_write_handle)
317 65 1 unless $ch->parent
329 67 0 unless $ch->parent
348 1 69 if $setup
357 0 1 if (defined $module)
361 0 0 unless $code = $module->can($func)
374 0 9 unless my $self = shift()
378 9 0 unless ($exitcode & 127)
384 0 4 unless my $self = shift()
420 0 0 if (defined $func)
424 0 0 unless $code = $module->can($func)
437 0 0 unless my $self = shift()
441 0 0 if ($ev eq "return")
445 0 0 if ($ev eq "died")
478 0 4 if $self->{'code'}
480 0 4 unless @{$self->{'channels_in'};} == 1
482 0 4 unless @{$self->{'channels_out'};} == 1
498 0 0 unless my $self = shift()
502 0 0 unless ($exitcode & 127)
508 0 0 unless my $self = shift()
576 2 0 if $self->{'model'} eq "fork"
577 0 2 if $self->{'model'} eq "thread"