Branch Coverage

lib/Beekeeper/MQTT.pm
Criterion Covered Total %
branch 132 368 35.8


line true false branch
210 271 30 if $_[0] < 128
261 0 0 unless $self->{'error_cb'}
276 19 0 if $args{'blocking'}
279 19 0 $args{'blocking'} ? :
289 19 0 unless defined $timeout
295 19 0 if ($timeout and not $self->{'timeout_tmr'})
303 19 0 unless ($self->{'hosts'})
306 0 19 ref $hosts eq 'ARRAY' ? :
312 19 0 unless @$try_hosts
340 0 0 if $self->{'connect_err'} <= @{$self->{'hosts'};}
341 0 0 @{$self->{'try_hosts'};} ? :
345 0 0 $delay < 10 ? :
374 272 0 unless (defined $BUSY_SINCE)
384 178 286 unless $rbuff_len >= 2
386 286 0 unless ($packet_type)
395 286 294 unless $byte & 128
396 0 294 if $offs >= $rbuff_len
398 294 0 if $offs < 5
408 94 192 if ($rbuff_len < $offs + $packet_len)
419 84 108 if ($packet_type == 3) { }
70 38 elsif ($packet_type == 4) { }
0 38 elsif ($packet_type == 5) { }
0 38 elsif ($packet_type == 6) { }
0 38 elsif ($packet_type == 7) { }
0 38 elsif ($packet_type == 12) { }
0 38 elsif ($packet_type == 13) { }
19 19 elsif ($packet_type == 9) { }
0 19 elsif ($packet_type == 11) { }
19 0 elsif ($packet_type == 2) { }
0 0 elsif ($packet_type == 14) { }
0 0 elsif ($packet_type == 15) { }
476 192 0 if defined $fh->{'rbuf'}
479 272 0 if (defined $timing_packets)
484 0 19 $tls ? :
501 19 0 unless ($client_id)
513 6 13 if (exists $prop{'session_expiry_interval'})
518 8 11 if (exists $prop{'receive_maximum'})
523 0 19 if (exists $prop{'maximum_packet_size'})
528 6 13 if (exists $prop{'topic_alias_maximum'})
533 0 19 if (exists $prop{'request_response_information'})
538 0 19 if (exists $prop{'request_problem_information'})
543 0 19 if (exists $prop{'authentication_method'})
549 0 19 if (exists $prop{'authentication_data'})
557 0 38 unless defined $val
574 6 13 if $clean_start
575 19 0 if defined $username
576 19 0 if defined $password
578 0 19 if ($will)
581 0 0 if $will->{'retain'}
599 0 19 if ($will)
615 19 0 if (defined $username)
621 19 0 if (defined $password)
656 0 19 if ($prop_id == 17) { }
0 19 elsif ($prop_id == 33) { }
19 0 elsif ($prop_id == 36) { }
0 0 elsif ($prop_id == 37) { }
0 0 elsif ($prop_id == 39) { }
0 0 elsif ($prop_id == 18) { }
0 0 elsif ($prop_id == 34) { }
0 0 elsif ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
0 0 elsif ($prop_id == 40) { }
0 0 elsif ($prop_id == 41) { }
0 0 elsif ($prop_id == 42) { }
0 0 elsif ($prop_id == 19) { }
0 0 elsif ($prop_id == 26) { }
0 0 elsif ($prop_id == 28) { }
0 0 elsif ($prop_id == 21) { }
0 0 elsif ($prop_id == 22) { }
734 0 19 unless ($success)
746 19 0 if $self->{'connect_cv'}
750 0 19 if $connack_cb
757 0 13 unless (defined $self->{'handle'})
768 0 13 if (exists $args{'session_expiry_interval'})
774 0 13 if (exists $args{'reason_string'})
780 0 13 if (exists $args{'server_reference'})
789 0 0 unless defined $val
840 0 0 if length $$packet == 0
860 0 0 if ($prop_id == 17) { }
0 0 elsif ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
0 0 elsif ($prop_id == 28) { }
888 0 0 if ($disconn_cb) { }
932 19 0 unless defined $topics
933 19 0 if defined $topic
935 0 19 unless @$topics
936 0 19 unless $subscr_cb
939 0 19 unless defined $topic
940 0 19 unless length $topic
944 0 19 if $packet_id == 65535
964 0 0 unless defined $val
976 2 17 if $max_qos
977 0 19 if $no_local
978 0 19 if $retain_asp
979 0 19 if $retain_hdl
1012 0 0 if ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
1032 0 19 unless $packet_cb
1047 19 0 if ($code <= 2) { }
1056 0 0 unless ($suback_cb)
1061 0 19 if $DEBUG
1072 6 13 if $suback_cb
1083 0 0 unless defined $topics
1084 0 0 if defined $topic
1086 0 0 unless @$topics
1087 0 0 unless $unsuback_cb
1090 0 0 unless defined $topic
1091 0 0 unless length $topic
1095 0 0 if $packet_id == 65535
1107 0 0 unless defined $val
1149 0 0 if ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
1169 0 0 unless $packet_cb
1182 0 0 if ($code == 0) { }
1186 0 0 if ($subscr_id)
1189 0 0 unless (@still_used)
1201 0 0 unless ($unsuback_cb)
1214 0 0 if $unsuback_cb
1230 0 90 unless defined $topic
1232 0 90 if $DEBUG
1234 0 90 unless defined $payload
1235 74 16 ref $payload eq 'SCALAR' ? :
1239 0 90 if ($self->{'use_alias'})
1241 0 0 if ($topic_alias) { }
0 0 elsif ($self->{'server_prop'}{'topic_alias_maximum'}) { }
1254 70 20 if $qos
1255 0 90 if $dup
1256 0 90 if $retain
1259 70 20 if ($qos)
1261 0 70 if $packet_id == 65535
1266 1 89 if (utf8::is_utf8($$payload_ref))
1272 0 90 if (exists $args{'message_expiry_interval'})
1277 0 90 if ($topic_alias)
1282 68 22 if (exists $args{'response_topic'})
1288 0 90 if (exists $args{'correlation_data'})
1299 0 90 if (exists $args{'content_type'})
1308 0 20 unless defined $val
1319 70 20 if $packet_id
1332 0 90 if ($qos and $on_puback)
1337 0 90 if ($buffer_id)
1341 0 0 if $packet_id
1347 1 89 if (defined $self->{'handle'}{'wbuf'} and length $self->{'handle'}{'wbuf'} > 0)
1356 0 1 if $AE_WAITING
1375 0 84 if $DEBUG
1384 3 81 if ($prop{'qos'} > 0)
1401 1 172 if ($prop_id == 1) { }
0 172 elsif ($prop_id == 2) { }
0 172 elsif ($prop_id == 35) { }
1 171 elsif ($prop_id == 8) { }
0 171 elsif ($prop_id == 9) { }
87 84 elsif ($prop_id == 38) { }
84 0 elsif ($prop_id == 11) { }
0 0 elsif ($prop_id == 3) { }
1415 0 0 if (length $topic) { }
1462 1 83 if ($prop{'payload_format'})
1478 0 3 unless $args{'packet_id'}
1488 0 3 if ($args{'buffer_id'})
1503 0 70 unless defined $reason_code
1508 70 0 unless defined $puback_cb
1516 0 0 unless $args{'packet_id'}
1537 0 0 unless defined $reason_code
1542 0 0 unless defined $pubrec_cb
1550 0 0 unless $args{'packet_id'}
1571 0 0 unless defined $reason_code
1576 0 0 unless defined $pubrel_cb
1584 0 0 unless $args{'packet_id'}
1603 0 0 unless defined $reason_code
1608 0 0 unless defined $pubcomp_cb
1621 0 0 if $auth_cb
1625 0 0 if (exists $args{'authentication_method'})
1631 0 0 if (exists $args{'authentication_data'})
1636 0 0 if (exists $args{'reason_string'})
1645 0 0 unless defined $val
1671 0 0 if length $$packet == 0
1691 0 0 if ($prop_id == 21) { }
0 0 elsif ($prop_id == 22) { }
0 0 elsif ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
1717 0 0 if $auth_cb
1727 0 0 unless $buffer
1731 0 0 if (defined $self->{'handle'}{'wbuf'} and length $self->{'handle'}{'wbuf'} > 0)
1736 0 0 if $AE_WAITING
1755 0 0 unless $buffer
1769 13 0 unless defined $self->{'handle'}