Condition Coverage

blib/lib/IO/Async/Loop.pm
Criterion Covered Total %
condition 76 145 52.4


and 3 conditions

line !l l&&!r l&&r condition
1329 67 0 1 $fail_on_nonzero and $results{'exitcode'} > 0
1696 15 0 2 $extensions = delete $params{'extensions'} and @$extensions
1746 7 4 0 not defined wantarray and exists $params{'host'} || exists $params{'local_host'}
1764 1 0 2 $on_connect_error and $_[1] eq "connect"
1765 3 0 0 $on_resolve_error and $_[1] eq "resolve"
1977 3 0 2 $extensions = delete $params{'extensions'} and @$extensions
1981 2 0 0 $ext eq "SSL" and $IO::Async::SSL::VERSION < "0.12001"
2005 2 0 1 $params{'addr'} and not $params{'addrs'}
2035 0 0 0 $on_listen_error and $how eq "listen"
2036 0 0 0 $on_resolve_error and $how eq "resolve"
2067 2 0 0 defined $params{'reuseaddr'} and not $params{'reuseaddr'}
2094 2 0 0 defined $v6only and $family == 10
2134 2 2 0 exists $params{$_} and $gai_hints{$_} = $params{$_}
2305 0 0 0 $_ and $_->detach
2409 1216 27 221 $IO::Async::Loop::METRICS and $self->{'processing_start'}
2912 1 3 0 \$deferrals->[$_] == $id and $idx = $_, last
2989 0 338 0 $self->API_VERSION < "0.76" and ($self->can("watch_child") // 0) != \&IO::Async::Loop::watch_child
3006 0 40 15 defined $zid and $zid > 0
3032 0 2 0 $self->API_VERSION < "0.76" and ($self->can("unwatch_child") // 0) != \&IO::Async::Loop::unwatch_child
3075 1438 0 0 defined $self->{'sigproxy'} and not $params{'no_sigwait'}

or 2 conditions

line l !l condition
29 0 100 $ENV{'IO_ASYNC_WATCHDOG_INTERVAL'} || 10
673 3 1 $_->is_ready or return 0
1293 79 5 delete $params{'capture'} // ["exitcode", "stdout"]
1315 1 81 delete $params{'cancel_signal'} // "TERM"
2061 0 2 $params{'queuesize'} || 3
2130 1 0 $host ||= ""
2131 1 0 $service //= ""
2350 0 0 $params{'context'} || 'scalar'
2475 18 783 $self->{'iowatches'}{$handle->fileno} ||= []
2989 338 0 $self->can("watch_child") // 0
3032 2 0 $self->can("unwatch_child") // 0

or 3 conditions

line l !l&&r !l&&!r condition
186 0 98 0 our $ONE_TRUE_LOOP ||= $self
321 25 6 0 our $ONE_TRUE_LOOP ||= (shift())->really_new
1130 297 41 0 $self->{'childmanager'} ||= $self->__new_feature("IO::Async::Internals::ChildManager")
1422 6 6 0 $self->{'resolver'} ||= do { require IO::Async::Resolver; my $resolver = "IO::Async::Resolver"->new; $self->add($resolver); $resolver }
1446 3 0 0 $resolver->can($_) or croak("Resolver is unsuitable as it does not implement $_")
1746 0 0 4 exists $params{'host'} || exists $params{'local_host'}
1753 12 3 0 $self->{'connector'} ||= $self->__new_feature("IO::Async::Internals::Connector")
1953 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 }
2014 1 0 0 $on_listen_error or defined wantarray
2019 0 1 0 $on_listen_error or defined wantarray
2021 0 1 0 $on_resolve_error or defined wantarray
2064 2 0 0 not defined $on_fail or ref $on_fail
2137 1 0 0 defined $gai_hints{'socktype'} or defined $gai_hints{'protocol'}
2549 10 3 670 $watch->[1] or $watch->[2]
3 0 670 $watch->[1] or $watch->[2] or $watch->[3]
2698 519 76 0 $self->{'timequeue'} ||= $self->__new_feature("IO::Async::Internals::TimeQueue")
2728 523 0 0 $self->{'timequeue'} ||= $self->__new_feature("IO::Async::Internals::TimeQueue")
2925 0 60 569 not defined $zid or $zid == 0
60 254 315 not defined $zid or $zid == 0 or $zid == -1
3076 0 0 0 not defined $$timeref or $$timeref > $MAX_SIGWAIT_TIME
3091 12 60 1156 not defined $$timeref or $timer_delay < $$timeref