Condition Coverage

blib/lib/DataStore/CAS/Simple.pm
Criterion Covered Total %
condition 61 139 43.8


and 3 conditions

line !l l&&!r l&&r condition
241 0 0 27 print $f $content and close $f
251 0 0 36 defined $str and length $str
321 2 2 5 $ref && $ref->isa('DataStore::CAS::File')
323 0 1 8 defined $file and $is_cas_file || $is_filename
327 4 1 1 $flags->{'move'} and not $is_cas_file
328 0 0 3 $is_cas_file && $file->can('local_file')
331 0 0 4 $fname and -f $fname
335 1 0 3 $is_cas_file and $flags->{'reuse_hash'}
367 1 0 0 ref $file and ref($file)->isa("File::Temp")
377 1 0 0 $uid and $uid != $>
1 0 0 $gid and $gid != $)
403 0 0 2 defined $mode and not $mode & 146
406 0 2 0 !$uid || $uid == $> and !$gid || $gid == $)
426 1 0 17 $flags->{'known_hashes'} && $flags->{'known_hashes'}{$self->digest}
427 1 0 17 defined $known_hash and length $known_hash
454 0 9 9 defined $wrote and $wrote > 0
509 0 0 17 $self->path_for_hash($hash, 1) and rename $source_file, $dest_name
538 2 0 0 $flags and $flags->{'layer'}
575 0 0 12 $#dirstack == $#length and -f $fname
589 1 0 0 $flags and $flags->{'dry_run'}
591 1 0 0 $flags and $flags->{'stats'}
595 0 0 0 $flags and $flags->{'stats'}

or 2 conditions

line l !l condition
110 9 2 $params{'digest'} ||= "SHA-1"
113 4 7 $params{'fanout'} ||= [1, 2]
178 0 0 length $hash || 0
195 0 0 length $hash || 0
201 81 0 length $hash || 0
323 0 0 $file || '(undef)'
377 0 0 chown $>, $), $tmp or die "chown($> $), $tmp): $!\n"
379 1 0 chmod 0444, $tmp or die "chmod(0444, $tmp): $!\n"
387 0 0 $flags->{'stats'}{'new_files'} ||= []
416 0 0 $flags->{'stats'}{'new_files'} ||= []
425 17 1 $flags ||= {}
449 0 18 $offset ||= 0
451 0 18 $offset || 0
515 0 0 $flags->{'stats'}{'new_files'} ||= []
547 44 0 $_[0] || die("opendir: $!")
552 0 3 $flags ||= {}
589 1 0 $path || die("unlink: $!")

or 3 conditions

line l !l&&r !l&&!r condition
124 0 9 0 ref $_[0] || $_[0]
266 0 0 0 $_ eq "=" or $_ eq "*"
323 5 4 0 $is_cas_file || $is_filename
327 3 5 1 $flags->{'hardlink'} or $flags->{'move'} and not $is_cas_file
337 1 3 0 $known_hashes{$self->digest} ||= $self->calculate_file_hash($fname)
377 0 0 1 $uid and $uid != $> or $gid and $gid != $)
406 2 0 0 !$uid || $uid == $>
2 0 0 !$gid || $gid == $)
411 0 2 0 $flags->{'dry_run'} or link $file, $dest
450 0 9 9 $count ||= length($buffer) - $offset
509 0 0 17 $flags->{'dry_run'} or rename "$source_file", $dest_name
0 17 0 $flags->{'dry_run'} or rename "$source_file", $dest_name or $self->path_for_hash($hash, 1) and rename $source_file, $dest_name
605 23 3 0 $digest_name || $self->digest