Condition Coverage

lib/SNMP/MIB/Compiler.pm
Criterion Covered Total %
condition 88 265 33.2


and 2 conditions

line l !l condition
918 0 0 defined $$self{'nodes'}{$node} and scalar keys %{$$self{'nodes'}{$node};}
0 0 defined $$self{'root'}{$node} and scalar keys %{$$self{'root'}{$node};}
965 0 0 defined $$self{'nodes'}{$$list[0]} && scalar keys %{$$self{'nodes'}{$$list[0]};}

and 3 conditions

line !l l&&!r l&&r condition
242 0 0 473 $c ne '' and not $c =~ /^[A-Za-z0-9:=,\{\}<.\(\)\[\]\'\">|]$/o
255 0 13 345 ($c = $s->getc) ne '' and $c ne '-'
13 15 330 ($c = $s->getc) ne '' and $c ne '-' and $c ne "\n"
28 0 330 ($c = $s->getc) ne '' and $c ne '-' and $c ne "\n" and $c ne "\r"
294 0 0 0 ($c = $s->getc) ne '' and $c =~ /[0-9A-Fa-f]/o
306 0 0 0 $c eq 'b' and $$self{'allow_lowcase_bstrings'}
307 0 0 0 $c =~ /[hH]/o and $$self{'allow_lowcase_hstrings'}
311 0 0 0 $c eq 'B' and $val =~ /^$ITEM_BINARYSTRING$/o
314 0 0 0 $c eq 'H' and $val =~ /^$ITEM_HEXADECIMALSTRING$/o
326 0 27 1985 ($c = $s->getc) ne '' and $c ne '"'
361 0 44 5 ($c = $s->getc) ne '' and $c =~ /\d/o
372 0 2392 0 ($c = $s->getc) ne '' and $c =~ /[A-Za-z0-9]/o || $$self{'allow_underscore'} && $c eq '_'
384 0 2 11 ($c = $s->getc) ne '' and $c ne '-'
2 2 9 ($c = $s->getc) ne '' and $c ne '-' and $c ne "\n"
4 0 9 ($c = $s->getc) ne '' and $c ne '-' and $c ne "\n" and $c ne "\r"
398 1 0 0 $val =~ /^$ITEM_IDENTIFIER2$/o and $$self{'allow_underscore'}
419 1 0 1 $val =~ /^$ITEM_IDENTIFIER2$/o and $$self{'allow_underscore'}
540 387 0 114 defined $needed and $res
387 114 0 defined $needed and $res and $$TOKEN[$res] ne $needed
582 0 0 0 $$self{'make_dump'} and not $outdir
611 0 0 0 $$self{'use_dump'} and -e "$outdir/$file$$self{'dumpext'}"
729 0 0 0 $$self{'use_dump'} and -e "$outdir/$file$$self{'dumpext'}"
767 0 2 2 $token and $token != $END
870 0 0 0 $token and $token != $END
920 0 0 0 defined $$self{'nodes'}{$node}{'oid'} and not defined $$self{'nodes'}{$node}{'OID'}
930 0 0 0 defined $$self{'nodes'}{$$list[0]} and defined $$self{'nodes'}{$$list[0]}{'oid'}
0 0 0 defined $$self{'nodes'}{$$list[0]} and defined $$self{'nodes'}{$$list[0]}{'oid'} and not defined $$self{'nodes'}{$$list[0]}{'OID'}
970 0 0 0 defined $$self{'nodes'}{$l} and defined $$self{'nodes'}{$l}{'oid'}
0 0 0 defined $$self{'nodes'}{$l} and defined $$self{'nodes'}{$l}{'oid'} and not defined $$self{'nodes'}{$l}{'OID'}
1047 0 11 22 $token and $value eq '('
0 3 8 $token and $value eq '{'
1104 0 0 0 $token == $ANY and $$self{'allow_keyword_any'}
1107 0 0 0 defined $ref and $ref eq 'HASH'
1120 0 1 9 defined $ref and $ref eq 'HASH'
1176 0 0 0 defined $ref and $ref eq 'HASH'
1227 0 0 0 defined $ref and $ref eq 'HASH'
1539 2 3 19 $value ne 'MODULE' and $token != $ASSIGNMENT
1785 0 1 7 defined $token and $token != $ASSIGNMENT
1786 0 6 7 defined $token and $value ne 'SUPPORTS'
6 1 6 defined $token and $value ne 'SUPPORTS' and $token != $ASSIGNMENT
1935 0 2 0 $$self{'accept_smiv2'} and $value eq 'BITS'
1955 0 0 2 defined $ref and $ref eq 'HASH'
1975 0 2 0 $$self{'accept_smiv2'} and $value eq 'UNITS'
2011 0 0 0 $$self{'accept_smiv1'} and not $$self{'accept_smiv2'}
0 0 0 not $$self{'accept_smiv1'} and $$self{'accept_smiv2'}
2026 0 0 2 $$self{'accept_smiv1'} and $value =~ /^(mandatory|optional|obsolete|deprecated)$/o
0 0 0 $$self{'accept_smiv2'} and $value =~ /^(current|obsolete|deprecated)$/o
2078 2 0 0 $value eq 'AUGMENTS' and $$self{'accept_smiv2'}
2124 0 6 12 defined $token and $value ne '}'
2132 0 0 0 $old2 and $old
2167 0 0 0 defined $token and $value ne ';'
2218 0 0 0 defined $token and $value ne ';'
2389 0 0 0 defined $$self{'nodes'}{$new}{'syntax'} and defined $$self{'nodes'}{$new}{'syntax'}{'type'}

or 2 conditions

line l !l condition
593 0 0 $self->extensions || ['']
793 2 0 $self->parse_objecttype || (return)
800 0 0 $self->parse_objectidentity || (return)
1868 6 0 ($token, $value) = $self->get_token or return
2385 0 0 $$treemodes{$$self{'nodes'}{$new}{'access'}} || '???'

or 3 conditions

line l !l&&r !l&&!r condition
244 2021 0 689 ($c = $s->getc) eq ' ' or $c eq "\t"
2021 216 473 ($c = $s->getc) eq ' ' or $c eq "\t" or $c eq "\n"
216 0 473 ($c = $s->getc) eq ' ' or $c eq "\t" or $c eq "\n" or $c eq "\r"
261 1 0 12 $c eq "\n" or $c eq "\r"
1 5 7 $c eq "\n" or $c eq "\r" or $c eq '-'
333 0 27 0 $c eq '' or $c ne '"'
372 2097 0 295 $c =~ /[A-Za-z0-9]/o || $$self{'allow_underscore'} && $c eq '_'
379 0 0 61 $c eq '' or $c eq "\n"
0 0 61 $c eq '' or $c eq "\n" or $c eq "\r"
386 0 2 2 $c eq '' or $c eq "\n"
2 0 2 $c eq '' or $c eq "\n" or $c eq "\r"
389 0 0 2 $c eq '' or $c eq "\n"
0 0 2 $c eq '' or $c eq "\n" or $c eq "\r"
0 1 1 $c eq '' or $c eq "\n" or $c eq "\r" or $c eq '-'
436 0 7 0 ref $this || $this
591 0 0 0 $$self{'srcpath'} || croak("Error: you MUST specify a path using add_path()\n")
918 0 0 0 defined $$self{'nodes'}{$node} and scalar keys %{$$self{'nodes'}{$node};} or defined $$self{'root'}{$node} and scalar keys %{$$self{'root'}{$node};}
925 0 0 0 $$self{'nodes'}{$node}{'OID'} || $$self{'root'}{$node}{'oid'}
927 0 0 0 defined $$self{'nodes'}{$$list[0]} or defined $$self{'root'}{$$list[0]}
1063 21 9 0 $value eq ')' or $value eq '|'
1087 8 3 0 $value eq '}' or $value eq ','
1104 0 0 0 $token == $IDENTIFIER or $token == $TYPEMODREFERENCE
1183 0 0 0 $value eq '}' or $value eq ','
1236 0 0 0 $value eq '}' or $value eq ','
1980 2 0 0 $value eq 'ACCESS' or $value eq 'MAX-ACCESS'
2125 6 6 0 $token == $IDENTIFIER or $token == $NUMBER
2168 0 0 0 $token == $IDENTIFIER or $token == $TYPEMODREFERENCE
2184 0 0 0 $token == $IDENTIFIER or $token == $TYPEMODREFERENCE
2219 0 0 0 $token == $IDENTIFIER or $token == $TYPEMODREFERENCE
2419 0 7 0 ref $this || $this