Condition Coverage

lib/Archive/Tar.pm
Criterion Covered Total %
condition 104 168 61.9


and 3 conditions

line !l l&&!r l&&r condition
286 23 57 9 sub { ;}->($mode) and $magic =~ /^\x42\x5A\x68[\x30-\x39]/
431 0 292 0 length $entry->type and $entry->is_file || $entry->is_longlink
433 0 214 0 $entry->is_file and not $entry->validate
453 189 3 22 $filter and not $entry->name =~ /$filter/
167 3 22 $filter_cb and not &$filter_cb($entry)
493 45 0 0 $skip == 5 and not $entry->is_longlink
45 0 0 $skip == 5 and not $entry->is_longlink and not $entry->is_unknown
0 0 0 $skip == 5 and not $entry->is_longlink and not $entry->is_unknown and not $entry->is_label
548 204 5 20 $filter and not $entry->name =~ /$filter/
184 5 20 $filter_cb and not &$filter_cb($entry)
561 179 0 9 $extract and not $entry->is_longlink
179 0 9 $extract and not $entry->is_longlink and not $entry->is_unknown
0 0 9 $extract and not $entry->is_longlink and not $entry->is_unknown and not $entry->is_label
753 2 94 111 ref $self && defined $self->{'cwd'}
786 8 15 94 ref $self and $self->{'_link_cache'}{$full_path}
841 12 272 0 -e $dir and not -d _
890 0 6 259 length $entry->type and $entry->is_file
930 0 0 265 $Archive::Tar::CHOWN and sub { ;}->()
0 6 259 $Archive::Tar::CHOWN and sub { ;}->() and not -l $full
937 0 6 259 $Archive::Tar::CHMOD and not -l $full
1056 0 0 0 @$aref == 1 and $aref->[0] eq "name"
1102 0 0 0 $Archive::Tar::RESOLVE_SYMLINK =~ /speed/ and @$iterargs == 3
1213 0 0 1 defined $mode and $mode =~ /^[0-7]{1,4}$/
1407 103 2 0 $clone->is_symlink && $Archive::Tar::FOLLOW_SYMLINK
1408 2 22 81 !$clone->is_symlink && $clone->has_content
1835 0 0 27 ref $tarfile and ref $tarfile eq "ARRAY"
1991 0 0 0 @trg and $trg[0] eq ""

or 2 conditions

line l !l condition
51 0 9 eval { do { require IO::String; 'IO::String'->import; 1 } } || 0
208 6 53 shift() || 0
209 10 49 shift() || {}
231 24 76 shift() || 0
345 84 0 shift() || {}
347 28 56 $opts->{'limit'} || 0
349 0 84 $opts->{'md5'} || 0
351 9 75 $opts->{'extract'} || 0
370 105 0 eval { do { tell $handle } } || 'unknown'
651 0 1 $hashmap || {map({$_->full_path, $_;} @{$self->_data;})}
1050 0 48 shift() || []
1319 17 17 shift() || 0
1327 31 0 $self->_get_handle($file, $gzip, sub { package Archive::Tar::Constant; use warnings; $_[0] ? 'wb' . (shift()) : 'w'; } ->($gzip)) || (return)
1376 15 75 length $clone->name > 100 || length $clone->prefix > 155 || 0
1466 0 105 shift() || 0
1504 105 0 $entry->version || '00'
1775 6 3 shift() || 0
1817 1 11 shift() || 0
1818 11 1 shift() || {}
1882 0 3 shift() || 0
1907 6 3 shift() || 0

or 3 conditions

line l !l&&r !l&&!r condition
232 100 0 0 shift() || sub { package Archive::Tar::Constant; use warnings; shift() ? 'rb' : 'r'; } ->(1)
262 13 53 14 $compress or sub { ;}->($mode)
66 0 14 $compress or sub { ;}->($mode) or $magic =~ /^(?:\037\213|\037\235)/
431 214 0 78 $entry->is_file || $entry->is_longlink
453 1 0 169 $entry->name eq "pax_global_header" or $entry->type =~ /^(x|g)$/
548 1 0 188 $entry->name eq "pax_global_header" or $entry->type =~ /^(x|g)$/
575 0 6 12 $entry->is_longlink or $entry->is_dir
734 0 80 207 $vol or "File::Spec"->file_name_is_absolute($dirs)
738 80 0 0 defined $alt or $Archive::Tar::INSECURE_EXTRACT_MODE
760 81 6 120 defined $alt or $Archive::Tar::INSECURE_EXTRACT_MODE
884 0 9 256 -l $full or -e _
956 0 0 0 $entry->is_blockdev or $entry->is_chardev
1056 48 0 0 @$aref == 0 or @$aref == 1 and $aref->[0] eq "name"
1428 0 81 24 $link_ok or $data_ok
1559 16 0 0 -e $file or -l $file