Branch Coverage

blib/lib/DataStore/CAS/FS/Exporter.pm
Criterion Covered Total %
branch 22 128 17.1


line true false branch
23 0 8 unless eval "sub $_ { \$_[0]{flags}{$_}= \$_[1] if \@_ > 1; \$_[0]{flags}{$_} }; 1"
0 0 if @_ > 1
0 0 if @_ > 1
0 0 if @_ > 1
0 0 if @_ > 1
40 0 4 if exists $$args{$_}
42 4 0 unless defined $$flags{$_}
54 0 1 unless $virt_path->isa('DataStore::CAS::FS::Path')
57 0 1 if -e $real_path
59 0 1 if (utf8::is_utf8($real_path))
60 0 0 $self->utf8_filenames ? :
70 2 1 if ($dirent->type eq 'file') { }
1 0 elsif ($dirent->type eq 'dir') { }
72 0 2 if (not defined $dirent->ref) { }
0 2 elsif ($dirent->ref ne $src->filesystem->hash_of_null) { }
80 0 0 unless print $dest_fh $buf
82 0 0 unless defined $got
83 0 0 unless close $src_fh
84 0 0 unless close $dest_fh
88 0 0 if defined $err
94 0 0 $self->utf8_filenames ? :
0 2 if utf8::is_utf8($sysname)
105 2 1 if ($t eq 'file') { }
1 0 elsif ($t eq 'dir') { }
0 0 elsif ($t eq 'symlink') { }
0 0 elsif ($t eq 'blockdev' or $t eq 'chardev') { }
0 0 elsif ($t eq 'pipe') { }
0 0 elsif ($t eq 'socket') { }
106 0 2 unless open my $dest_fh, '>:raw', $path
110 0 1 unless mkdir $path
113 0 0 unless symlink $entry->ref, $path
117 0 0 unless defined $major and length $major and defined $minor and length $minor
125 0 0 unless socket $sock, Socket::PF_UNIX(), Socket::SOCK_STREAM(), 0 and bind $sock, sockaddr_un($path)
136 0 3 if (defined(my $mode = $entry->unix_mode))
137 0 0 unless chmod $mode & ~Fcntl::S_IFMT(), $path
142 0 3 if (defined(my $u = $entry->unix_user))
144 0 0 defined($$cache{$u} = getgrnam $u) ? :
0 0 exists $$cache{$u} ? :
148 0 3 if (defined(my $g = $entry->unix_group))
150 0 0 defined($$cache{$g} = getgrnam $g) ? :
0 0 exists $$cache{$g} ? :
154 0 0 defined $uid ? :
0 0 defined $gid ? :
0 3 if defined $uid or defined $gid
159 0 3 if (defined $mtime)
161 0 0 unless defined $atime
162 0 0 unless utime $atime, $mtime, $path
169 0 0 if $$self{'flags'}{'die_on_metadata_error'}
175 0 0 if $$self{'flags'}{'die_on_creation_error'}
180 0 0 `mknod --version` && $? == 0 ? :
0 0 try(sub { require Unix::Mknod; 1; } , catch(sub { undef; } )) ? :
190 0 0 $entry->type eq 'pipe' ? :
0 0 $entry->type eq 'chardev' ? :
0 0 $entry->type eq 'blockdev' ? :
194 0 0 unless 0 == Unix::Mknod::mknod($path, $mode, Unix::Mknod::makedev($major, $minor))
200 0 0 if ($dirent->type eq 'pipe') { }
201 0 0 unless system('mkfifo', $path) == 0
202 0 0 $? & 127 ? :
0 0 unless $? == 0
204 0 0 $dirent->type eq 'blockdev' ? :
205 0 0 unless system('mknod', $path, $t, $major, $minor) == 0
206 0 0 $? & 127 ? :
0 0 unless $? == 0
212 0 0 $self->die_on_unsupported ? :