Branch Coverage

lib/Beekeeper/MQTT.pm
Criterion Covered Total %
branch 132 370 35.6


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 179 285 unless $rbuff_len >= 2
386 285 0 unless ($packet_type)
395 285 292 unless $byte & 128
396 0 292 if $offs >= $rbuff_len
398 292 0 if $offs < 5
408 93 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
841 0 0 if length $$packet == 1
861 0 0 if ($prop_id == 17) { }
0 0 elsif ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
0 0 elsif ($prop_id == 28) { }
889 0 0 if ($disconn_cb) { }
933 19 0 unless defined $topics
934 19 0 if defined $topic
936 0 19 unless @$topics
937 0 19 unless $subscr_cb
940 0 19 unless defined $topic
941 0 19 unless length $topic
945 0 19 if $packet_id == 65535
965 0 0 unless defined $val
977 2 17 if $max_qos
978 0 19 if $no_local
979 0 19 if $retain_asp
980 0 19 if $retain_hdl
1013 0 0 if ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
1033 0 19 unless $packet_cb
1048 19 0 if ($code <= 2) { }
1057 0 0 unless ($suback_cb)
1062 0 19 if $DEBUG
1073 6 13 if $suback_cb
1084 0 0 unless defined $topics
1085 0 0 if defined $topic
1087 0 0 unless @$topics
1088 0 0 unless $unsuback_cb
1091 0 0 unless defined $topic
1092 0 0 unless length $topic
1096 0 0 if $packet_id == 65535
1108 0 0 unless defined $val
1150 0 0 if ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
1170 0 0 unless $packet_cb
1183 0 0 if ($code == 0) { }
1187 0 0 if ($subscr_id)
1190 0 0 unless (@still_used)
1202 0 0 unless ($unsuback_cb)
1215 0 0 if $unsuback_cb
1231 0 90 unless defined $topic
1233 0 90 if $DEBUG
1235 0 90 unless defined $payload
1236 74 16 ref $payload eq 'SCALAR' ? :
1240 0 90 if ($self->{'use_alias'})
1242 0 0 if ($topic_alias) { }
0 0 elsif ($self->{'server_prop'}{'topic_alias_maximum'}) { }
1255 70 20 if $qos
1256 0 90 if $dup
1257 0 90 if $retain
1260 70 20 if ($qos)
1262 0 70 if $packet_id == 65535
1267 1 89 if (utf8::is_utf8($$payload_ref))
1273 0 90 if (exists $args{'message_expiry_interval'})
1278 0 90 if ($topic_alias)
1283 68 22 if (exists $args{'response_topic'})
1289 0 90 if (exists $args{'correlation_data'})
1300 0 90 if (exists $args{'content_type'})
1309 0 20 unless defined $val
1320 70 20 if $packet_id
1333 0 90 if ($qos and $on_puback)
1338 0 90 if ($buffer_id)
1342 0 0 if $packet_id
1348 1 89 if (defined $self->{'handle'}{'wbuf'} and length $self->{'handle'}{'wbuf'} > 0)
1357 0 1 if $AE_WAITING
1376 0 84 if $DEBUG
1385 3 81 if ($prop{'qos'} > 0)
1402 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) { }
1416 0 0 if (length $topic) { }
1463 1 83 if ($prop{'payload_format'})
1479 0 3 unless $args{'packet_id'}
1489 0 3 if ($args{'buffer_id'})
1504 0 70 unless defined $reason_code
1509 70 0 unless defined $puback_cb
1517 0 0 unless $args{'packet_id'}
1538 0 0 unless defined $reason_code
1543 0 0 unless defined $pubrec_cb
1551 0 0 unless $args{'packet_id'}
1572 0 0 unless defined $reason_code
1577 0 0 unless defined $pubrel_cb
1585 0 0 unless $args{'packet_id'}
1604 0 0 unless defined $reason_code
1609 0 0 unless defined $pubcomp_cb
1622 0 0 if $auth_cb
1626 0 0 if (exists $args{'authentication_method'})
1632 0 0 if (exists $args{'authentication_data'})
1637 0 0 if (exists $args{'reason_string'})
1646 0 0 unless defined $val
1672 0 0 if length $$packet == 0
1692 0 0 if ($prop_id == 21) { }
0 0 elsif ($prop_id == 22) { }
0 0 elsif ($prop_id == 31) { }
0 0 elsif ($prop_id == 38) { }
1718 0 0 if $auth_cb
1728 0 0 unless $buffer
1732 0 0 if (defined $self->{'handle'}{'wbuf'} and length $self->{'handle'}{'wbuf'} > 0)
1737 0 0 if $AE_WAITING
1756 0 0 unless $buffer
1770 13 0 unless defined $self->{'handle'}