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 1119 27 200 $IO::Async::Loop::METRICS and $self->{'processing_start'}
2906 1 3 0 \$deferrals->[$_] == $id and $idx = $_, last
2983 0 341 0 $self->API_VERSION < "0.76" and ($self->can("watch_child") // 0) != \&IO::Async::Loop::watch_child
3000 0 31 26 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 1309 0 0 defined $self->{'sigproxy'} and not $params{'no_sigwait'}

or 2 conditions

line l !l condition
31 0 102 $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 806 $self->{'iowatches'}{$handle->fileno} ||= []
2983 341 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 101 0 our $ONE_TRUE_LOOP ||= $self
320 28 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 693 $watch->[1] or $watch->[2]
3 0 693 $watch->[1] or $watch->[2] or $watch->[3]
2692 544 79 0 $self->{'timequeue'} ||= $self->__new_feature("IO::Async::Internals::TimeQueue")
2722 537 0 0 $self->{'timequeue'} ||= $self->__new_feature("IO::Async::Internals::TimeQueue")
2919 0 53 563 not defined $zid or $zid == 0
53 255 308 not defined $zid or $zid == 0 or $zid == -1
3070 0 0 0 not defined $$timeref or $$timeref > $MAX_SIGWAIT_TIME
3085 27 59 1020 not defined $$timeref or $timer_delay < $$timeref