Branch Coverage

blib/lib/Parse/H.pm
Criterion Covered Total %
branch 136 412 33.0


line true false branch
109 0 60 if $a > $b
124 91 21 defined $hash->{$name} ? :
172 0 2 unless defined $_
182 0 2 unless defined $pointer_size
184 0 2 unless $infile
206 0 2 if (/^\s*struct\s+[\w\s\$\*]+(\[[^\]]*\])?;/o and not /{/o)
209 0 0 if ($comment_sub)
212 0 0 if $output_sub and $_
219 2 0 if (/^\s*struct\s+(\w+)/o)
221 2 0 if ($1 and $1 ne "" and not $1 =~ /\{/o)
230 2 0 if $struct_start_sub
231 1 1 if $output_sub and $line
238 2 0 if ($comment_sub)
254 0 96 if (m[/\*]o) { }
263 0 0 if (m(\[.*/\*)o) { }
282 0 0 if (/\[/o) { }
294 96 0 if ($comment_sub)
303 0 0 if $struct_entry_sub
304 0 0 if $output_sub and $line
314 0 0 if $struct_entry_sub
315 0 0 if $output_sub and $line
330 10 0 if $struct_entry_sub
331 5 5 if $output_sub and $line
339 30 0 if $struct_entry_sub
340 15 15 if $output_sub and $line
349 0 0 if $struct_entry_sub
350 0 0 if $output_sub and $line
358 0 0 if ($count =~ /^0/o)
362 0 0 if $struct_entry_sub
363 0 0 if $output_sub and $line
372 0 0 if ($count =~ /^0/o)
376 0 0 if $struct_entry_sub
377 0 0 if $output_sub and $line
386 0 0 if ($count =~ /^0/o)
390 0 0 if $struct_entry_sub
391 0 0 if $output_sub and $line
400 0 0 if ($count =~ /^0/o)
404 0 0 if $struct_entry_sub
405 0 0 if $output_sub and $line
414 0 0 if ($count =~ /^0/o)
418 0 0 if $struct_entry_sub
419 0 0 if $output_sub and $line
428 0 0 if ($count =~ /^0/o)
432 0 0 if $struct_entry_sub
433 0 0 if $output_sub and $line
442 0 0 if ($count =~ /^0/o)
447 0 0 if $struct_entry_sub
448 0 0 if $output_sub and $line
457 0 0 if $struct_entry_sub
458 0 0 if $output_sub and $line
466 0 0 if $struct_entry_sub
467 0 0 if $output_sub and $line
476 6 0 if $struct_entry_sub
477 3 3 if $output_sub and $line
484 0 0 if $struct_entry_sub
485 0 0 if $output_sub and $line
492 6 0 if $struct_entry_sub
493 3 3 if $output_sub and $line
500 0 0 if $struct_entry_sub
501 0 0 if $output_sub and $line
508 0 0 if $struct_entry_sub
509 0 0 if $output_sub and $line
516 6 0 if $struct_entry_sub
517 3 3 if $output_sub and $line
525 12 0 if $struct_entry_sub
526 6 6 if $output_sub and $line
533 2 94 if (/}/o)
537 0 2 if (/\}\s*(\*?)\s*(\w+)[^;]*;/o)
541 0 2 if (/\}\s*\*/o)
545 2 0 if $struct_end_sub
546 0 2 if $output_sub and $line
552 94 0 if ($preproc_sub)
556 47 0 if $output_sub and $_
604 0 2 unless defined $_
614 0 2 unless defined $pointer_size
616 0 2 unless $infile
638 0 2 if (/^\s*union\s+[^;{}]*;/o)
641 0 0 if ($comment_sub)
644 0 0 if $output_sub and $_
652 2 0 if (/^\s*union\s+(\w+)/o)
654 2 0 if ($1 and $1 ne "" and not $1 =~ /\{/o)
663 2 0 if $union_start_sub
664 1 1 if $output_sub and $line
667 2 0 if (not /union/o) { }
686 96 0 if ($comment_sub)
694 30 0 if $union_entry_sub
695 15 15 if $output_sub and $line
703 0 0 if $union_entry_sub
704 0 0 if $output_sub and $line
713 0 0 if $union_entry_sub
714 0 0 if $output_sub and $line
724 6 0 if $union_entry_sub
725 3 3 if $output_sub and $line
733 0 0 if $union_entry_sub
734 0 0 if $output_sub and $line
742 6 0 if $union_entry_sub
743 3 3 if $output_sub and $line
751 0 0 if $union_entry_sub
752 0 0 if $output_sub and $line
760 0 0 if $union_entry_sub
761 0 0 if $output_sub and $line
769 6 0 if $union_entry_sub
770 3 3 if $output_sub and $line
779 12 0 if $union_entry_sub
780 6 6 if $output_sub and $line
790 0 0 if $union_entry_sub
791 0 0 if $output_sub and $line
800 0 0 if ($count =~ /^0/o)
804 0 0 if $union_entry_sub
805 0 0 if $output_sub and $line
815 0 0 if ($count =~ /^0/o)
819 0 0 if $union_entry_sub
820 0 0 if $output_sub and $line
830 0 0 if ($count =~ /^0/o)
834 0 0 if $union_entry_sub
835 0 0 if $output_sub and $line
845 0 0 if ($count =~ /^0/o)
849 0 0 if $union_entry_sub
850 0 0 if $output_sub and $line
860 0 0 if ($count =~ /^0/o)
864 0 0 if $union_entry_sub
865 0 0 if $output_sub and $line
875 0 0 if ($count =~ /^0/o)
879 0 0 if $union_entry_sub
880 0 0 if $output_sub and $line
890 0 0 if ($count =~ /^0/o)
895 0 0 if $union_entry_sub
896 0 0 if $output_sub and $line
906 0 0 if $struct_entry_sub
907 0 0 if $output_sub and $line
913 2 94 if (/\s*\}.*/o)
916 0 2 if (/\s*\}\s*(\w+)[^;]*;/o)
920 2 0 if $union_end_sub
921 0 2 if $output_sub and $line
927 94 0 if ($preproc_sub)
931 47 0 if $output_sub and $_
991 2 2 unless defined $pointer_size
1002 2 2 unless $infile
1027 24 60 if (/^\s*$/o)
1029 12 12 if $output_sub
1042 0 60 if (m[^\s*/\*.*\*/\s*$]o or m[^\s*//]o)
1044 0 0 if ($comment_sub) { }
1052 0 0 if $output_sub and $_
1058 6 54 if (/^\s*#/o)
1060 6 0 if ($comment_sub)
1064 6 0 if ($preproc_sub) { }
1072 3 0 if $output_sub and $_
1078 40 14 if (/^\s*extern/o)
1080 40 0 if ($comment_sub)
1105 0 40 if (/^\s*\w*\s*extern\s+[\w\*\s]+\(\s*\*\s*(\w+)[()\*\s\w]*\)\s*\(.*/o)
1107 0 0 if ($extern_sub) { }
1117 10 30 if (/^\s*\w*\s*extern\s+[\w\*\s]+?(\w+)\s*\(.*/o)
1119 10 0 if ($extern_sub) { }
1130 30 10 if (/^\s*extern[\w\*\s]+\s+\**(\w+)\s*;/o)
1132 30 0 if ($extern_sub) { }
1141 20 0 if $output_sub and $_
1147 2 12 if (/^\s*typedef/o)
1149 0 2 if (/\(/o)
1158 0 2 if (/\(/o) { }
2 0 elsif (not /{/o and /;/o) { }
0 0 elsif (/(struct|union|enum)/o) { }
1165 2 0 if ($typedef_sub) { }
1173 1 0 if $output_sub and $_
1187 2 10 if (/^\s*struct/o)
1192 0 2 if (/^\s*struct[^{;]+;.*$/o or /\(/o) { }
1205 2 8 if (/^\s*enum/o)
1208 2 0 if (/^.*enum\s+(\w+)\s*\{?/o)
1210 2 0 if $enum_start_sub
1211 1 1 if $output_sub and $line
1217 0 2 if (/}/o) { }
1231 0 0 if (/([\w\s]*)\s+(\w+)\s*=\s*(\w+)\s*,/o)
1233 0 0 if $enum_entry_sub
1234 0 0 if $output_sub and $line
1238 0 0 if (/([\w\s]*)\s+(\w+)\s*,/o)
1240 0 0 if $enum_entry_sub
1241 0 0 if $output_sub and $line
1248 0 0 if (/^\s*(\w+)\s*=\s*(\w+)\s*\}\s*;/o)
1250 0 0 if $enum_entry_sub
1251 0 0 if $output_sub and $line
1254 0 0 if (/^\s*(\w+)\s*\}\s*;/o)
1256 0 0 if $enum_entry_sub
1257 0 0 if $output_sub and $line
1261 0 0 if $enum_end_sub
1262 0 0 if $output_sub and $line
1264 0 0 if ($comment_sub)
1267 0 0 if $output_sub and $_
1276 0 8 if (/^\s*#/o)
1278 0 0 if ($preproc_sub) { }
1286 0 0 if $output_sub and $_
1295 0 8 if /^\s*;/o
1298 0 8 if (/=/o) { }
1300 0 0 if (/^\s*(\w+)\s*=\s*(\w+)\s*,?/o)
1302 0 0 if $enum_entry_sub
1303 0 0 if $output_sub and $line
1311 4 4 if (/^\s*(\w+)\s*,?/o)
1313 4 0 if $enum_entry_sub
1314 2 2 if $output_sub and $line
1321 8 0 if ($comment_sub)
1327 2 6 if (/\s*\}.*/o)
1329 2 0 if $enum_end_sub
1330 0 2 if $output_sub and $line
1334 2 1 if $output_sub and $_
1339 2 6 if (/^\s*union/o)
1344 0 2 if (/^\s*union[^{;]+;.*$/o or /\(/o) { }
1358 6 0 if ($comment_sub)
1362 3 0 if $output_sub and $_