Condition Coverage

blib/lib/Async/Redis.pm
Criterion Covered Total %
condition 66 225 29.3


and 3 conditions

line !l l&&!r l&&r condition
110 2 0 1 $f->is_failed && (($f->failure)[0] // '') eq '__deadline__'
389 0 0 0 $result and $result eq "OK"
398 0 0 0 $self->{'database'} and $self->{'database'} != 0
405 0 0 0 $result and $result eq "OK"
414 0 0 0 defined $self->{'client_name'} and length $self->{'client_name'}
474 0 0 0 $self->{'_current_read_future'} and not $self->{'_current_read_future'}->is_ready
519 0 0 0 $was_connected and $self->{'on_disconnect'}
522 0 0 0 $was_connected and $self->{'_telemetry'}
534 104 0 0 $self->{'socket'} and fileno $self->{'socket'}
552 0 0 0 $entry->{'future'} and not $entry->{'future'}->is_ready
572 0 2 0 $self->{'_pid'} and $self->{'_pid'} != $$
644 0 0 0 $entry->{'future'} and not $entry->{'future'}->is_ready
661 0 0 0 $self->{'in_pubsub'} and not $self->{'_subscription'}
674 0 0 0 not $timed_out and $returned_f->is_ready
0 0 0 not $timed_out and $returned_f->is_ready and not $returned_f->is_failed
721 0 0 0 $self->{'in_pubsub'} and $kind eq "ok"
0 0 0 $self->{'in_pubsub'} and $kind eq "ok" and ref $value eq "ARRAY"
744 0 0 0 builtin::blessed($dispatch_result) and $dispatch_result->isa("Future")
876 0 1 9 defined $raw and $raw =~ /^-?\d+(?:\.\d+)?$/u
1049 0 3 3 $max and $attempt >= $max
1137 0 0 0 $self->{'_reconnect_future'} and not $self->{'_reconnect_future'}->is_ready
1194 2 0 0 defined $self->{'prefix'} and $self->{'prefix'} ne ""
1364 2 0 0 $self->{'_current_read_future'} and not $self->{'_current_read_future'}->is_ready
1372 0 0 0 $entry->{'future'} and not $entry->{'future'}->is_ready
1391 1 1 0 $was_connected and $self->{'on_disconnect'}
1425 0 0 5 $f and not $f->is_ready
1444 0 0 2 ref $err && eval { do { $err->isa('Async::Redis::Error') } }
1484 9 0 0 $self->{'_current_read_future'} and not $self->{'_current_read_future'}->is_ready
1508 9 0 0 $was_pubsub and $subscription
1509 0 0 0 $self->_reconnect_enabled and $subscription->can("_pause_for_reconnect")
1526 3 2 4 $was_connected and $self->{'on_disconnect'}
1536 8 0 1 not $ok and $caught
1750 0 0 0 defined $name and length $name
2083 0 0 0 @{$self->{'inflight'};} and &Time::HiRes::time() < $deadline
2114 0 0 0 $self->{'_subscription'} and $self->{'_subscription'}->is_closed
2148 0 0 0 $self->{'_subscription'} and $self->{'_subscription'}->is_closed
2176 0 0 0 $self->{'_subscription'} and $self->{'_subscription'}->is_closed

or 2 conditions

line l !l condition
190 3 106 $args{'message_queue_depth'} // 1
218 103 2 $args{'host'} // "localhost"
94 11 $args{'port'} // 6379
78 31 $args{'connect_timeout'} // 10
1 108 $args{'request_timeout'} // 5
1 108 $args{'blocking_timeout_buffer'} // 2
1 108 $args{'reconnect'} // 0
3 106 $args{'reconnect_delay'} // "0.1"
3 106 $args{'reconnect_delay_max'} // 60
3 106 $args{'reconnect_jitter'} // "0.25"
3 106 $args{'reconnect_max_attempts'} // 10
1 108 $args{'database'} // 0
0 109 $args{'pipeline_depth'} // 10000
0 109 $args{'auto_pipeline'} // 0
0 107 $args{'otel_include_args'} // 0
0 107 $args{'otel_redact'} // 1
231 0 0 $self->{'database'} // 0
309 77 1 $self->{'port'} // 0
602 3 0 $arg //= ""
623 0 0 $redis_error_policy // "fail"
722 0 0 $value->[0] // ""
762 0 0 $entry->{'redis_error'} // "fail"
847 14 0 $cmd // ""
862 4 0 $args[$i] // ""
881 4 5 $spec->{'unit'} // "seconds"
1185 0 0 $cmd // ""
1358 2 0 $reason //= "timeout"
1587 13 0 $msg->{'type'} // ""
1597 3 0 $data // 0
1766 0 0 $def->{'keys'} // "dynamic"
1949 0 0 +(shift())->{'inflight'} // []
1958 2 0 $self->{'inflight'} // []
2077 0 0 $timeout //= 30

or 3 conditions

line l !l&&r !l&&!r condition
113 1 2 0 $timed_out or $timeout_f->is_ready
222 0 0 107 $self->{'debug'} or $self->{'otel_tracer'}
0 0 107 $self->{'debug'} or $self->{'otel_tracer'} or $self->{'otel_meter'}
309 1 77 0 $self->{'path'} // $self->{'host'}
362 0 0 0 $self->{'path'} // "$self->{'host'}:$self->{'port'}"
451 0 0 0 $self->{'_socket_live'} or $self->{'connected'}
660 0 0 0 $self->{'in_pubsub'} or @{$self->{'inflight'};}
699 0 0 0 not defined $buf or length $buf == 0
723 0 0 0 $frame_name eq "message" or $frame_name eq "pmessage"
0 0 0 $frame_name eq "message" or $frame_name eq "pmessage" or $frame_name eq "smessage"
811 0 0 0 not defined $buf or length $buf == 0
1340 0 0 0 not defined $buf or length $buf == 0
2119 0 0 0 $self->{'_subscription'} //= "Async::Redis::Subscription"->new("redis", $self)
2152 0 0 0 $self->{'_subscription'} //= "Async::Redis::Subscription"->new("redis", $self)
2180 0 0 0 $self->{'_subscription'} //= "Async::Redis::Subscription"->new("redis", $self)
2272 0 0 0 $opts{'max_depth'} // $self->{'pipeline_depth'}