Condition Coverage

blib/lib/IO/Async/Loop.pm
Criterion Covered Total %
condition 75 143 52.4


and 3 conditions

line !l l&&!r l&&r condition
1328 67 0 1 $fail_on_nonzero and $results{'exitcode'} > 0
1695 15 0 2 $extensions = delete $params{'extensions'} and @$extensions
1745 7 4 0 not defined wantarray and exists $params{'host'} || exists $params{'local_host'}
1763 1 0 2 $on_connect_error and $_[1] eq 'connect'
1764 3 0 0 $on_resolve_error and $_[1] eq 'resolve'
1976 3 0 2 $extensions = delete $params{'extensions'} and @$extensions
1980 2 0 0 $ext eq 'SSL' and $IO::Async::SSL::VERSION < '0.12001'
2004 2 0 1 $params{'addr'} and not $params{'addrs'}
2034 0 0 0 $on_listen_error and $how eq 'listen'
2035 0 0 0 $on_resolve_error and $how eq 'resolve'
2066 2 0 0 defined $params{'reuseaddr'} and not $params{'reuseaddr'}
2093 2 0 0 defined $v6only and $family == 10
2133 2 2 0 exists $params{$_} and $gai_hints{$_} = $params{$_}
2304 0 0 0 $_ and $_->detach
2408 1042 27 206 $IO::Async::Loop::METRICS and $self->{'processing_start'}
2906 1 3 0 \$deferrals->[$_] == $id and $idx = $_, last
2983 0 338 0 $self->API_VERSION < 0.76 and ($self->can('watch_child') // 0) != \&IO::Async::Loop::watch_child
3000 0 19 36 defined $zid and $zid > 0
3026 0 2 0 $self->API_VERSION < 0.76 and ($self->can('unwatch_child') // 0) != \&IO::Async::Loop::unwatch_child
3069 1228 0 0 defined $self->{'sigproxy'} and not $params{'no_sigwait'}

or 2 conditions

line l !l condition
31 0 100 $ENV{'IO_ASYNC_WATCHDOG_INTERVAL'} || 10
672 3 1 $_->is_ready or return 0
1292 79 5 delete $params{'capture'} // ['exitcode', 'stdout']
1314 1 81 delete $params{'cancel_signal'} // 'TERM'
2060 0 2 $params{'queuesize'} || 3
2129 1 0 $host ||= ''
2349 0 0 $params{'context'} || 'scalar'
2469 14 777 $self->{'iowatches'}{$handle->fileno} ||= []
2983 338 0 $self->can('watch_child') // 0
3026 2 0 $self->can('unwatch_child') // 0

or 3 conditions

line l !l&&r !l&&!r condition
185 0 98 0 our $ONE_TRUE_LOOP ||= $self
320 25 6 0 our $ONE_TRUE_LOOP ||= (shift())->really_new
1129 297 41 0 $self->{'childmanager'} ||= $self->__new_feature('IO::Async::Internals::ChildManager')
1421 6 6 0 $self->{'resolver'} ||= do { require IO::Async::Resolver; my $resolver = 'IO::Async::Resolver'->new; $self->add($resolver); $resolver }
1445 3 0 0 $resolver->can($_) or croak("Resolver is unsuitable as it does not implement $_")
1745 0 0 4 exists $params{'host'} || exists $params{'local_host'}
1752 12 3 0 $self->{'connector'} ||= $self->__new_feature('IO::Async::Internals::Connector')
1952 1 4 0 $params{'listener'} ||= do { ++$remove_on_error; require IO::Async::Listener; my %listenerparams; foreach $_ ('on_accept', 'on_stream', 'on_socket') { next unless exists $params{$_}; croak("Cannot ->listen with '${_}' and 'listener'") if $params{'listener'}; my $code = delete $params{$_}; $listenerparams{$_} = sub { shift(); goto \&$code; } ; } ; my $listener = 'IO::Async::Listener'->new(%listenerparams); $self->add($listener); $listener }
2013 1 0 0 $on_listen_error or defined wantarray
2018 0 1 0 $on_listen_error or defined wantarray
2020 0 1 0 $on_resolve_error or defined wantarray
2063 2 0 0 not defined $on_fail or ref $on_fail
2136 1 0 0 defined $gai_hints{'socktype'} or defined $gai_hints{'protocol'}
2543 10 3 666 $watch->[1] or $watch->[2]
3 0 666 $watch->[1] or $watch->[2] or $watch->[3]
2692 517 76 0 $self->{'timequeue'} ||= $self->__new_feature('IO::Async::Internals::TimeQueue')
2722 525 0 0 $self->{'timequeue'} ||= $self->__new_feature('IO::Async::Internals::TimeQueue')
2919 0 59 531 not defined $zid or $zid == 0
59 236 295 not defined $zid or $zid == 0 or $zid == -1
3070 0 0 0 not defined $$timeref or $$timeref > $MAX_SIGWAIT_TIME
3085 12 55 983 not defined $$timeref or $timer_delay < $$timeref