Branch Coverage

blib/lib/Device/ELM327.pm
Criterion Covered Total %
branch 1 314 0.3


line true false branch
15 0 1 if ($^O eq 'MSWin32') { }
129 0 0 if (defined $debug_level)
2203 0 0 if (defined $replay_filename) { }
2234 0 0 if ($$self{'port'} == -1) { }
2236 0 0 if ($$self{'debug_level'} > 0)
2263 0 0 if (exists $$definition{'available'} and $$definition{'available'} == 1)
2269 0 0 if (exists $$result{'name'}) { }
2277 0 0 if (exists $$result{'unit'} and $$result{'unit'} ne '') { }
0 0 elsif (substr($$result{'type'}, 0, 4) eq 'bool') { }
2312 0 0 if ($$self{'debug_level'} > 0)
2318 0 0 if ($$response{'status'} eq 'ok') { }
2323 0 0 if (exists $$result{'min_limit'})
2327 0 0 if (exists $$result{'max_limit'})
2394 0 0 if ($$self{'debug_level'} > 0)
2396 0 0 if (exists $$self{'get'}{$name}) { }
2398 0 0 if (exists $$self{'get'}{$name}{'available'} and $$self{'get'}{$name}{'available'} == 1) { }
2402 0 0 if (substr($name, 0, 12) eq 'Freeze frame') { }
0 0 elsif (substr($command, 0, 2) eq '05' and substr($command, 0, 5) ne '05 00') { }
2404 0 0 if (defined $parameter) { }
2416 0 0 if (defined $parameter) { }
2429 0 0 if ($$results{'status'} ne 'ok')
2435 0 0 if (substr($command, 0, 2) eq '06' and substr($command, 0, 5) ne '06 00' and substr($command, 0, 5) ne '06 20' and substr($command, 0, 5) ne '06 40' and substr($command, 0, 5) ne '06 60' and substr($command, 0, 5) ne '06 80' and substr($command, 0, 5) ne '06 A0' and substr($command, 0, 5) ne '06 C0' and substr($command, 0, 5) ne '06 E0' and $$self{'bus_type'} eq 'CAN') { }
2447 0 0 if ($$self{'debug_level'} > 2)
2448 0 0 if (exists $$result{'name'}) { }
2462 0 0 if ($type[0] eq 'signed')
2468 0 0 if ($type[$index] eq 'AT') { }
2472 0 0 if (defined $$result{'modifier'})
2476 0 0 if ($$self{'debug_level'} > 2)
2479 0 0 if ($$self{'debug_level'} > 1)
2485 0 0 if ($$self{'debug_level'} > 2)
2490 0 0 if ($$self{'debug_level'} > 2)
2492 0 0 if ($value ne 'no result')
2496 0 0 if ($type[$index] eq 'byte' and $type[0] eq 'signed') { }
0 0 elsif ($type[$index] eq 'word' and $type[0] eq 'signed') { }
2511 0 0 if ($type[$index] ne 'string') { }
2513 0 0 if ($$self{'debug_level'} > 2)
2515 0 0 if ($$self{'debug_level'} > 2)
2522 0 0 if ($$self{'debug_level'} > 2)
2526 0 0 if ($type[$index] eq 'bool')
2528 0 0 if ($value != 0)
2529 0 0 if ($unit ne '')
2536 0 0 if (exists $$result{'alternatives'})
2540 0 0 if ($$alternative{'value'} == $value)
2550 0 0 if ($$self{'debug_level'} > 2)
2552 0 0 if ($command eq '03' or $command eq '07' or $command eq '0A') { }
2569 0 0 if ($$self{'debug_level'} > 2)
2575 0 0 if ($$self{'debug_level'} > 2)
2600 0 0 if ($$self{'debug_level'} > 0)
2610 0 0 if ($malfunction_indicator_lamp_state > 0) { }
2619 0 0 if ($number_of_codes > 0 or $malfunction_indicator_lamp_state > 0) { }
2622 0 0 if ($number_of_codes != 1)
2657 0 0 if ($$self{'debug_level'} > 0)
2687 0 0 if ($code eq 'no result' or $code == 0)
2697 0 0 if ($$self{'debug_level'} > 1)
2725 0 0 if ($$self{'debug_level'} > 0)
2745 0 0 if ($$self{'debug_level'} > 0)
2770 0 0 if ($$self{'debug_level'} > 0)
2800 0 0 if ($$self{'debug_level'} > 0)
2809 0 0 if ($command_parts[0] ne 'AT' and $status eq 'ok')
2812 0 0 if ($has_sub_command[$$self{'last_command'}]) { }
2857 0 0 unless (defined $number)
2859 0 0 if ($$self{'debug_level'} > 1)
2864 0 0 if ($$self{'results'}{$address}{'command'} == $$self{'last_command'} and $$self{'results'}{$address}{'sub_command'} == $$self{'last_sub_command'}) { }
2867 0 0 if ($type eq 'bool') { }
0 0 elsif ($type eq 'byte') { }
0 0 elsif ($type eq 'word') { }
0 0 elsif ($type eq 'dword') { }
0 0 elsif ($type eq 'string') { }
2869 0 0 if ($number_of_result_bytes < $number + 1) { }
2883 0 0 if ($number_of_result_bytes < $number + 1) { }
2897 0 0 if ($number_of_result_bytes < $number * 2 + 2) { }
2899 0 0 if ($$self{'debug_level'} > 2)
2912 0 0 if ($number_of_result_bytes < $number * 4 + 4) { }
2927 0 0 if ($number_of_result_bytes < $number) { }
2936 0 0 if ($number > 0) { }
2942 0 0 if ($_ > 32 and $_ < 127)
2982 0 0 if ($$self{'debug_level'} > 0)
2984 0 0 if ($$self{'replay_file'} == 0)
2986 0 0 if ($self->PortOK) { }
3026 0 0 if ($$self{'debug_level'} > 1)
3028 0 0 if ($$self{'replay_file'} == 0 and $self->PortOK) { }
3033 0 0 if ($count_in == $bytes_to_read and $string_in ne $null) { }
3048 0 0 if ($count_in == $bytes_to_read)
3050 0 0 if ($string_in ne '>' and $string_in ne $null)
3052 0 0 if ($string_in eq $cr) { }
3054 0 0 if ($line ne '')
3080 0 0 if ($$self{'response_length'} == 0) { }
0 0 elsif ($$self{'response'}[0] eq 'NO DATA') { }
0 0 elsif ($$self{'response'}[0] eq 'STOPPED') { }
3093 0 0 if ($$self{'debug_level'} > 0)
3133 0 0 if ($$self{'debug_level'} > 1)
3147 0 0 if (scalar @line_parts > 2)
3150 0 0 if (length $address < 3) { }
3153 0 0 if ($$self{'debug_level'} > 4)
3160 0 0 if ($$self{'results'}{$address}{'command'} == 4)
3161 0 0 if ($$self{'results'}{$address}{'command'} == $command_mask)
3165 0 0 if ($has_sub_command[$$self{'results'}{$address}{'command'}]) { }
3173 0 0 if ($$self{'results'}{$address}{'command'} == 2) { }
0 0 elsif ($$self{'results'}{$address}{'command'} == 5) { }
0 0 elsif ($$self{'results'}{$address}{'command'} == 6) { }
3185 0 0 if (exists $$self{'results'}{$address}{'response_length'}) { }
3197 0 0 if ($$self{'debug_level'} > 4)
3202 0 0 if ($line_number <= 16)
3204 0 0 if ($line_number == 16)
3211 0 0 if ($line_number < 16)
3213 0 0 if ($has_sub_command[$$self{'results'}{$address}{'command'}] or $$self{'results'}{$address}{'command'} == $command_mask) { }
3223 0 0 if ($$self{'results'}{$address}{'command'} == 4)
3225 0 0 if ($$self{'results'}{$address}{'command'} == $command_mask) { }
3232 0 0 if ($has_sub_command[$$self{'results'}{$address}{'command'}]) { }
3240 0 0 if ($$self{'results'}{$address}{'command'} == 2)
3254 0 0 if ($$self{'debug_level'} > 2)
3277 0 0 if ($$self{'debug_level'} > 1)
3312 0 0 if ($index != 0)
3331 0 0 if (exists $$self{'Standardized_Test_IDs'}{$sdt_id})
3338 0 0 if ($uas_id >= 128)
3348 0 0 if (exists $$self{'unit_and_scaling_identifiers'}{$uas_id})
3363 0 0 if ($$self{'debug_level'} > 2)
3419 0 0 if (defined $port_details and $port_details ne '')
3423 0 0 if ($parameters[0] ne '')
3427 0 0 if ($parameter ne '')
3432 0 0 if (scalar @parameters > 0)
3435 0 0 if (scalar @parameters > 0)
3438 0 0 if (scalar @parameters > 0)
3441 0 0 if (scalar @parameters > 0)
3444 0 0 if (scalar @parameters > 0)
3454 0 0 if (not defined $port_name or $port_name eq '')
3456 0 0 if ($^O eq 'MSWin32') { }
3476 0 0 if ($^O eq 'MSWin32') { }
3485 0 0 if (defined $port) { }
3492 0 0 if ($parity eq 'none') { }
3510 0 0 if (substr($_, 0, 5) eq 'ELM32')
3515 0 0 if ($$self{'ELM_type'} eq 'NONE' and $$self{'debug_level'} > 0)
3522 0 0 if ($$self{'debug_level'} > 0)
3533 0 0 if ($$self{'ELM_type'} eq 'NONE')
3556 0 0 if ($$self{'debug_level'} > 0)
3558 0 0 if ($self->PortOK)
3599 0 0 if ($$self{'debug_level'} > 0)
3601 0 0 if ($$self{'bus_type'} eq 'CAN') { }
3641 0 0 if ($$self{'debug_level'} > 0)
3647 0 0 if ($$self{'debug_level'} > 1)
3649 0 0 if ($$response{'status'} eq 'ok') { }
3654 0 0 if ($$self{'debug_level'} > 1)
3655 0 0 if ($$self{'debug_level'} > 4)
3663 0 0 if (substr($$result{'name'}, 4, 15) eq 'IDs supported (' and $$result{'value'} == 1) { }
0 0 elsif ($$result{'value'} == 1 and substr($$result{'name'}, -2, 2) eq '13' && $$self{'get'}{'Location of oxygen sensors 13'}{'available'} == 1 || substr($$result{'name'}, -2, 2) eq '1D' && $$self{'get'}{'Location of oxygen sensors 1D'}{'available'} == 1) { }
3674 0 0 if ($$self{'debug_level'} > 2)
3680 0 0 if ($$result{'name'} eq 'Location of oxygen sensors 13' or $$result{'name'} eq 'Location of oxygen sensors 1D') { }
3688 0 0 if ($$self{'debug_level'} > 3)
3741 0 0 if ($replay_state == $get_command) { }
0 0 elsif ($replay_state == $seek_response) { }
0 0 elsif ($replay_state == $read_response) { }
3743 0 0 if (substr($_, 0, 1) eq '~')
3757 0 0 if ($index < $number_of_parameters - 1)
3768 0 0 if ($_ eq 'Response')
3775 0 0 if ($_ eq 'End of response') { }
3780 0 0 if ($$self{'debug_level'} > 1)
3790 0 0 if (length $_ > 0)