Branch Coverage

blib/lib/Image/ExifTool/EXE.pm
Criterion Covered Total %
branch 92 180 51.1


line true false branch
814 0 0 unless $raf->Read($buff, 56) == 56 and $buff =~ /^ITSF.{20}\x10\xfd\x01\x7c\xaa\x7b\xd0\x11\x9e\x0c\0\xa0\xc9\x22\xe6\xec/s
831 0 22 if $end > length $$dataPt
836 22 287 if $ch eq "\0\0"
839 12 10 if $pos & 3
840 9 13 $et ? :
859 1 3 if $pos + 6 > $end
863 0 3 unless $len or $valLen
865 0 3 if $strEnd + $valLen > $end
866 0 3 unless ($index or $string eq "VS_VERSION_INFO")
870 1 2 if ($string eq 'VS_VERSION_INFO') { }
1 1 elsif ($string eq 'StringFileInfo' and $valLen == 0) { }
889 1 9 unless ($index)
895 1 0 if (length $string > 4)
900 1 0 if $char
905 0 9 unless ($tagTablePtr->{$tag})
908 0 0 unless length $name
912 9 0 if ($valLen) { }
943 0 3 if $level > 10
945 0 3 unless $raf->Seek($dirStart, 0) and $raf->Read($buff, 16) == 16
949 0 3 unless $raf->Read($buff, $count * 8) == $count * 8
955 1 2 unless ($level)
959 0 1 if ($verbose) { }
962 0 1 unless $resType eq "Version"
966 2 1 if ($entryPos & 2147483648) { }
1 0 elsif ($dirInfo->{'ResType'} eq 'Version' and $level == 2 and not $dirInfo->{'GotVersion'}) { }
970 0 2 unless &ProcessPEResources($et, $dirInfo)
977 0 1 unless $raf->Seek($entryPos + $base, 0) and $raf->Read($buf2, 16) == 16
984 4 1 unless $off >= $section->{'VirtualAddress'} and $off < $section->{'VirtualAddress'} + $section->{'Size'}
988 0 1 unless $filePos
989 0 1 unless $raf->Seek($filePos, 0) and $raf->Read($buf2, $len) == $len
990 0 1 unless &ProcessPEVersion($et, {"DataPt", \$buf2, "DataLen", $len, "DirStart", 0, "DirLen", $len})
1023 3 1 unless $name eq ".rsrc\0\0\0" and not $rsrcFound and defined($rsrcFound = 1) or $name eq ".text\0\0\0" and not %dirInfo
1034 1 0 if %dirInfo
1051 1 1 if ($override)
1052 0 1 $fat ? :
1074 3 1 if ($info)
1091 2 1 if ($doObj) { }
1116 0 6 unless my $size = $raf->Read($buff, 64)
1121 1 5 if ($buff =~ /^MZ/ and $size == 64) { }
2 3 elsif ($buff =~ /^(\xca\xfe\xba\xbe|\xfe\xed\xfa(\xce|\xcf)|(\xce|\xcf)\xfa\xed\xfe)/ and $size > 12) { }
0 3 elsif ($buff =~ /^Joy!peff/ and $size > 12) { }
2 1 elsif ($buff =~ /^\x7fELF/ and $size >= 16) { }
1 0 elsif ($buff =~ /^!\x0a/) { }
0 0 elsif ($buff =~ m[^#!\s*/\S*bin/(\w+)]) { }
1146 1 0 $cblp ? :
1150 0 1 if $fileSize < 64
1153 1 0 if ($raf->Seek($lfanew, 0) and $raf->Read($buff, 64) and $buff =~ /^(NE|PE|LE)/) { }
1154 0 1 if ($1 eq 'NE') { }
1 0 elsif ($1 eq 'PE') { }
1155 0 0 if ($size >= 64)
1158 0 0 $appFlags & 128 ? :
1172 1 0 if ($size >= 24)
1176 0 1 $machine =~ /64/ ? :
1177 0 1 $flags & 8192 ? :
1179 0 1 if $fast3
1183 1 0 if ($more > 0)
1184 1 0 if ($raf->Read($buf2, $more) == $more) { }
1189 0 1 unless ($magic == 263 or $magic == 267 or $magic == 523)
1210 1 0 if ($raf->Read($buff, 40 * $num) == 40 * $num)
1215 0 1 unless &ProcessPEDict($et, \%dirInfo)
1234 0 2 if ($1 eq "\312\376\272\276") { }
2 0 elsif ($size >= 16) { }
1239 0 0 if ($ver > 30)
1245 0 0 if $fast3
1248 0 0 if ($more > 0)
1249 0 0 unless ($raf->Read($buf2, $more) == $more)
1266 0 0 if ($raf->Seek($offset, 0) and $raf->Read($buf2, 16) == 16) { }
1267 0 0 if ($buf2 =~ /^(\xfe\xed\xfa(\xce|\xcf)|(\xce|\xcf)\xfa\xed\xfe)/) { }
0 0 elsif ($buf2 =~ /^!\x0a/) { }
1268 0 0 $buf2 =~ /^\xfe\xed/ ? :
1286 0 2 if $fast3
1296 0 0 if $fast3
1313 0 2 if $fast3
1314 2 0 &Get8u(\$buff, 5) == 1 ? :
1328 1 1 if $override
1335 0 1 if $fast3
1341 0 2 unless $raf->Seek($pos, 0) and $raf->Read($buff, 60) == 60
1342 0 2 unless substr($buff, 58, 2) eq "`\n"
1343 1 1 unless ($tagTablePtr)
1353 2 0 if ($name =~ m[^#1/(\d+) *$])
1355 0 2 if $len > 256
1357 0 2 unless $raf->Read($name, $len) == $len
1360 0 2 unless $arSize =~ s/^(\d+).*/$1/s
1361 0 2 unless $raf->Read($buff, 28) == 28
1362 1 1 if &ExtractMachTags($et, \$buff)
1364 0 1 if $pos & 1
1372 0 0 if $prog eq "env" and $buff =~ /\b(perl|python|ruby|php)\b/
1382 0 0 $prog =~ /sh$/ ? :
0 0 unless defined $ext
1384 0 0 unless $type