Branch Coverage

blib/lib/Parse/DMIDecode.pm
Criterion Covered Total %
branch 33 86 38.3


line true false branch
43 0 2 if ref(my $class = shift())
44 0 2 if @_ % 2
54 0 0 if @invalidkeys and $^W
58 0 2 if defined $$stor{$command} and not -f $$stor{$command}
70 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
75 0 0 unless (defined $$stor{'dmidecode'})
78 0 0 unless defined $$stor{$command}
83 0 0 if $@
87 0 0 unless -f $cmd
92 0 0 unless open $fh, '-|', $cmd
96 0 0 unless close $fh
104 0 5 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
118 5 22 if (/^Handle [0-9A-Fx]+/) { }
0 22 elsif (/^SYSID present\.\s*/) { }
5 17 elsif (/^# dmidecode ([\d\.]+)\s*$/) { }
5 12 elsif (/^(\d+) structures occupying (\d+) bytes?\.\s*$/) { }
0 12 elsif (/^DMI ([\d\.]+) present\.?\s*$/) { }
5 7 elsif (/^SMBIOS ([\d\.]+) present\.?\s*$/) { }
5 2 elsif (/^(?:DMI )?[Tt]able at ([0-9A-Fx]+)\.?\s*$/) { }
137 5 25 unless exists $data{$_}
142 346 2891 if ($lines[$i] =~ /^Handle [0-9A-Fx]+/) { }
143 341 5 if $raw_handle_data
153 5 0 if $raw_handle_data
160 0 5 if scalar @{$data{'handles'};} < $data{'structures'}
171 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
174 0 0 if @_ % 2
181 0 0 if ($getall or defined $param{'address'} and $handle->address eq $param{'address'} or defined $param{'dmitype'} and $handle->dmitype == $param{'dmitype'} or defined $param{'group'} and defined $Parse::DMIDecode::GROUPS{$param{'group'}} and grep(($_ == $handle->dmitype), @{$Parse::DMIDecode::GROUPS{$param{'group'}};}))
197 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
205 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
213 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
221 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
229 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
238 0 0 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
255 0 6 unless ref $self and UNIVERSAL::isa($self, 'Parse::DMIDecode')
257 0 0 @_ > 1 ? :
0 6 if @_ != 1
262 6 11 if (grep(($_ eq $_[0]), $handle->keywords))
277 17 0 length ref $_[0] ? :
283 0 17 unless my $pkg = ref $_[0]
284 17 0 if (_blessed($_[0])) { }
291 17 0 if defined $pkg
303 0 0 unless $Parse::DMIDecode::DEBUG
309 9 0 unless $Parse::DMIDecode::DEBUG