Branch Coverage

blib/lib/IO/Async/Function.pm
Criterion Covered Total %
branch 83 112 74.1


line true false branch
208 14 133 if exists $params{$_}
211 14 35 if (keys %worker_params)
217 7 42 if (exists $params{'idle_timeout'})
219 0 7 if (not $timeout) { }
0 7 elsif (my $idle_timer = $self->{'idle_timer'}) { }
220 0 0 if $self->{'idle_timer'}
229 0 1 unless my $self = shift()
237 0 1 if $workers->{$id}{'busy'}
244 0 1 if $self->workers_idle > $self->{'min_workers'}
252 48 50 if exists $params{$_}
259 61 233 if exists $params{$_}
263 0 49 if defined $self->{'code'} and defined $self->{'func'}
265 0 49 if defined $self->{'func'} and not defined $self->{'module'}
269 0 49 if ($need_restart and $self->loop)
340 3 35 defined wantarray ? :
343 3 40 if defined wantarray
462 0 90 unless $self->loop
465 0 90 unless ref $args eq "ARRAY"
468 2 88 if (defined $params{'on_result'}) { }
44 44 elsif (defined $params{'on_return'} and defined $params{'on_error'}) { }
0 44 elsif (not defined wantarray) { }
470 0 2 unless ref $on_result
482 0 44 unless ref $on_return
484 0 44 unless ref $on_error
498 66 23 if (my $worker = $self->_get_worker) { }
510 9 14 if ($priority) { }
525 0 66 unless my $self = shift()
529 0 21 unless my $self = shift()
533 45 44 if $on_done
534 45 44 if $on_fail
536 53 36 if defined wantarray
600 0 3 unless my $self = shift()
603 3 0 if $self->{'stopping'}
605 0 0 if $self->workers < $self->{'min_workers'}
621 78 26 unless $self->{'workers'}{$_}{'busy'}
624 12 23 if ($self->workers < $self->{'max_workers'})
638 86 2 if ($self->workers_idle == 0)
639 17 69 if $self->{'idle_timer'}
650 0 23 unless my $worker = $self->_get_worker
654 1 22 if $f->is_cancelled
661 19 47 if ($self->workers_idle > $self->{'min_workers'})
662 17 2 if $self->{'idle_timer'} and not $self->{'idle_timer'}->is_running
687 49 6 if (defined(my $code = $params{'code'})) { }
6 0 elsif (defined(my $func = $params{'func'})) { }
691 0 1 if defined $init_code
704 0 6 if ref $init_func eq "ARRAY"
720 6 49 if $send_initial
730 5 48 if $self->{'send_initial'}
749 3 45 if defined wantarray
751 48 0 if (my $function = $worker->parent)
754 10 38 if ($worker->{'busy'}) { }
782 7 78 if not $worker->{'max_calls'} or $worker->{'exit_on_die'} and $type eq "e"
784 66 19 if ($type eq 'r') { }
19 0 elsif ($type eq 'e') { }
807 88 0 if $function
809 10 78 if $function and $worker->{'remove_on_idle'}