Condition Coverage

lib/Archive/Tar.pm
Criterion Covered Total %
condition 102 168 60.7


and 3 conditions

line !l l&&!r l&&r condition
284 22 50 9 sub { ; } ->($mode) and $magic =~ /^\x42\x5A\x68[\x30-\x39]/
429 0 268 0 length $entry->type and $entry->is_file || $entry->is_longlink
431 0 202 0 $entry->is_file and not $entry->validate
451 177 3 22 $filter and not $entry->name =~ /$filter/
155 3 22 $filter_cb and not &$filter_cb($entry)
491 44 0 0 $skip == 5 and not $entry->is_longlink
44 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
546 182 5 20 $filter and not $entry->name =~ /$filter/
162 5 20 $filter_cb and not &$filter_cb($entry)
559 158 0 9 $extract and not $entry->is_longlink
158 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
751 2 44 41 ref $self && defined $self->{'cwd'}
784 8 7 31 ref $self and $self->{'_link_cache'}{$full_path}
839 7 109 0 -e $dir and not -d _
888 0 2 108 length $entry->type and $entry->is_file
920 0 0 110 $Archive::Tar::CHOWN and sub { ; } ->()
0 2 108 $Archive::Tar::CHOWN and sub { ; } ->() and not -l $full
927 0 2 108 $Archive::Tar::CHMOD and not -l $full
1046 0 0 0 @$aref == 1 and $aref->[0] eq 'name'
1092 0 0 0 $Archive::Tar::RESOLVE_SYMLINK =~ /speed/ and @$iterargs == 3
1203 0 0 1 defined $mode and $mode =~ /^[0-7]{1,4}$/
1397 100 2 0 $clone->is_symlink && $Archive::Tar::FOLLOW_SYMLINK
1398 2 20 80 !$clone->is_symlink && $clone->has_content
1825 0 0 27 ref $tarfile and ref $tarfile eq 'ARRAY'
1981 0 0 0 @trg and $trg[0] eq ''

or 2 conditions

line l !l condition
49 0 8 eval { do { require IO::String; 'IO::String'->import; 1 } } || 0
206 6 46 shift() || 0
207 10 42 shift() || {}
229 24 68 shift() || 0
343 77 0 shift() || {}
345 28 49 $opts->{'limit'} || 0
347 0 77 $opts->{'md5'} || 0
349 9 68 $opts->{'extract'} || 0
368 105 0 eval { do { tell $handle } } || 'unknown'
649 0 1 $hashmap || {map({$_->full_path, $_;} @{$self->_data;})}
1040 0 31 shift() || []
1309 17 16 shift() || 0
1317 30 0 $self->_get_handle($file, $gzip, sub { package Archive::Tar::Constant; use warnings; $_[0] ? 'wb' . (shift()) : 'w'; } ->($gzip)) || (return)
1366 15 72 length $clone->name > 100 || length $clone->prefix > 155 || 0
1456 0 102 shift() || 0
1494 102 0 $entry->version || '00'
1765 6 3 shift() || 0
1807 1 11 shift() || 0
1808 11 1 shift() || {}
1872 0 3 shift() || 0
1897 6 3 shift() || 0

or 3 conditions

line l !l&&r !l&&!r condition
230 92 0 0 shift() || sub { package Archive::Tar::Constant; use warnings; shift() ? 'rb' : 'r'; } ->(1)
260 13 46 13 $compress or sub { ; } ->($mode)
59 0 13 $compress or sub { ; } ->($mode) or $magic =~ /^(?:\037\213|\037\235)/
429 202 0 66 $entry->is_file || $entry->is_longlink
451 0 0 158 $entry->name eq 'pax_global_header' or $entry->type =~ /^(x|g)$/
546 0 0 167 $entry->name eq 'pax_global_header' or $entry->type =~ /^(x|g)$/
573 0 6 12 $entry->is_longlink or $entry->is_dir
732 0 30 87 $vol or 'File::Spec'->file_name_is_absolute($dirs)
736 30 0 0 defined $alt or $Archive::Tar::INSECURE_EXTRACT_MODE
758 31 1 55 defined $alt or $Archive::Tar::INSECURE_EXTRACT_MODE
882 0 9 101 -l $full or -e _
946 0 0 0 $entry->is_blockdev or $entry->is_chardev
1046 31 0 0 @$aref == 0 or @$aref == 1 and $aref->[0] eq 'name'
1418 0 80 22 $link_ok or $data_ok
1549 16 0 0 -e $file or -l $file