Condition Coverage

lib/Kafka/Connection.pm
Criterion Covered Total %
condition 79 166 47.5


and 3 conditions

line !l l&&!r l&&r condition
476 1 7 226 defined $self->{'host'} and $self->{'host'} eq '' || defined &_STRING($self->{'host'})
482 10 0 200 defined &_NUMBER($self->{'Timeout'}) and int 1000 * $self->{'Timeout'} >= 1
10 0 200 defined &_NUMBER($self->{'Timeout'}) and int 1000 * $self->{'Timeout'} >= 1 and int $self->{'Timeout'} * 1000 <= $Kafka::Connection::MAX_INT32
493 1 3 0 defined &_NONNEGINT($ip_version) and $ip_version == $Kafka::Connection::IP_V4 || $ip_version == $Kafka::Connection::IP_V6
603 0 0 0 &blessed($error) and $error->isa('Kafka::Exception')
675 0 0 0 defined $decoded_response->{'CorrelationId'} and $decoded_response->{'CorrelationId'} == $CorrelationId
700 0 0 1 defined $username and defined &_STRING($username)
0 0 1 defined $username and defined &_STRING($username) and not utf8::is_utf8($username)
702 0 0 1 defined $password and defined &_STRING($password)
0 0 1 defined $password and defined &_STRING($password) and not utf8::is_utf8($password)
714 0 0 1 $self->_sendIO($broker, $encoded_request) and my $encoded_response_ref = $self->_receiveIO($broker)
856 0 8 6 exists $io_cache->{$server} and $io = $io_cache->{$server}{'IO'}
926 0 0 10046 not $self->{'AutoCreateTopicsEnable'} and defined $topic_name
0 10046 0 not $self->{'AutoCreateTopicsEnable'} and defined $topic_name and not exists $self->{'_metadata'}{$topic_name}
969 0 0 0 not %{$self->{'_group_coordinators'};} and defined $group_id
1017 2 4 0 $api_key == $Kafka::Connection::APIKEY_PRODUCE and not $ErrorCode == $Kafka::Connection::ERROR_CANNOT_BIND || $ErrorCode == $Kafka::Connection::ERROR_NO_CONNECTION
1026 5034 97 5009 $api_key == $Kafka::Connection::APIKEY_PRODUCE and $request->{'RequiredAcks'} == $Kafka::Connection::NOT_SEND_ANY_RESPONSE
1085 0 84 0 $api_key == $Kafka::Connection::APIKEY_PRODUCE and $ErrorCode == $Kafka::Connection::ERROR_REQUEST_TIMED_OUT
1151 0 0 3 defined $topic and $topic eq '' || defined &_STRING($topic)
1155 0 0 3 defined $partition and &isint($partition)
0 0 3 defined $partition and &isint($partition) and $partition >= 0
1260 50 324 0 $host and $host =~ /^\[(.+)\]$/
1278 0 0 0 defined $error_code && exists $Kafka::Connection::ERROR{$error_code}
1302 0 132 119 defined $NodeId and $NodeId == $node_id
1356 0 0 0 $self->_connectIO($broker) and $self->_sendIO($broker, $encoded_request)
0 0 0 $self->_connectIO($broker) and $self->_sendIO($broker, $encoded_request) and $encoded_response_ref = $self->_receiveIO($broker)
1371 0 0 0 defined $decoded_response->{'CorrelationId'} and $decoded_response->{'CorrelationId'} == $CorrelationId
1413 0 9 122 $self->_connectIO($broker) and $self->_sendIO($broker, $encoded_request)
8 3 119 $self->_connectIO($broker) and $self->_sendIO($broker, $encoded_request) and $encoded_response_ref = $self->_receiveIO($broker)
1428 0 0 119 defined $decoded_response->{'CorrelationId'} and $decoded_response->{'CorrelationId'} == $CorrelationId
1475 119 0 0 ($ErrorCode = $partition_metadata->{'ErrorCode'}) != $Kafka::Connection::ERROR_NO_ERROR and $ErrorCode != $Kafka::Connection::ERROR_REPLICA_NOT_AVAILABLE
1545 0 0 20 &blessed($error) and $error->isa('Kafka::Exception')
1599 110 0 1 defined $self->{'sasl_username'} and defined $self->{'sasl_password'}
1648 0 0 5251 $response_ref and length $$response_ref == 4
1683 5 35 228 defined $server and defined &_STRING($server)
40 5 223 defined $server and defined &_STRING($server) and not utf8::is_utf8($server)
1692 50 0 173 is_hostname($host) || is_ipv4($host) || is_ipv6($host) and $port

or 2 conditions

line l !l condition
623 0 0 $Kafka::Connection::IMPLEMENTED_APIVERSIONS->{$api_key} // -1
699 1 0 $mechanizm ||= 'PLAIN'
917 0 10098 $request->{'__send_to__'} // 'leader'
951 10163 0 $self->{'SEND_MAX_ATTEMPTS'} // 1
1278 71 0 $error_code // 'IO error'

or 3 conditions

line l !l&&r !l&&!r condition
466 10 991 0 $Param_mapping{$p} // $p
476 1 225 7 $self->{'host'} eq '' || defined &_STRING($self->{'host'})
482 0 210 0 not defined $self->{'Timeout'} or defined &_NUMBER($self->{'Timeout'}) and int 1000 * $self->{'Timeout'} >= 1 and int $self->{'Timeout'} * 1000 <= $Kafka::Connection::MAX_INT32
493 2 0 1 $ip_version == $Kafka::Connection::IP_V4 || $ip_version == $Kafka::Connection::IP_V6
150 0 4 not defined $ip_version or defined &_NONNEGINT($ip_version) and $ip_version == $Kafka::Connection::IP_V4 || $ip_version == $Kafka::Connection::IP_V6
789 0 1 0 $topic eq '' or defined &_STRING($topic)
1 1 0 not defined $topic or ($topic eq '' or defined &_STRING($topic))
926 52 0 10046 not %{$self->{'_metadata'};} or not $self->{'AutoCreateTopicsEnable'} and defined $topic_name and not exists $self->{'_metadata'}{$topic_name}
1017 4 0 0 $ErrorCode == $Kafka::Connection::ERROR_CANNOT_BIND || $ErrorCode == $Kafka::Connection::ERROR_NO_CONNECTION
1111 3 0 0 $ErrorCode || $Kafka::Connection::ERROR_CANNOT_GET_METADATA
1151 0 3 0 $topic eq '' || defined &_STRING($topic)
1278 71 0 0 $error // (defined $error_code && exists $Kafka::Connection::ERROR{$error_code} ? $Kafka::Connection::ERROR{$error_code} : '<undef>')
1395 124 1 0 $topic // ()
1546 1 0 19 $error->code == $Kafka::Connection::ERROR_MISMATCH_ARGUMENT or $error->code == $Kafka::Connection::ERROR_INCOMPATIBLE_HOST_IP_VERSION
1692 173 0 50 is_hostname($host) || is_ipv4($host) || is_ipv6($host)