| line |
true |
false |
branch |
|
18
|
5 |
0 |
!(@_ & 1) ? : |
|
|
0 |
5 |
@_ == 1 && &isa_hash($_[0]) ? : |
|
22
|
0 |
5 |
unless defined $attrs{'dst'} |
|
23
|
0 |
5 |
unless my $dst_abs = abs_path($attrs{'dst'} =~ s[(?<=[^/])$][/]ru) |
|
25
|
0 |
5 |
unless length $dst_abs > 1 |
|
35
|
0 |
5 |
if $tmp_dev != $dst_dev |
|
50
|
0 |
0 |
if @value |
|
59
|
2 |
3 |
if $self->{'_delayed_apply_stat'} |
|
65
|
0 |
21 |
if $file->{'name'} =~ m[(^|^\.|^\.\.)(/|\z)]u |
|
70
|
0 |
21 |
if (@old{"dev", "ino", "mode", "nlink", "uid", "gid", "rdev", "size", "atime", "mtime"} = lstat $dst_abs) |
|
73
|
0 |
0 |
if ref $action eq "CODE" |
|
75
|
0 |
0 |
if $action eq "ignore" |
|
76
|
0 |
0 |
if $action eq "ignore_if_same" and $self->_croak_if_different($file, \%old) |
|
77
|
0 |
0 |
unless $action eq "overwrite" |
|
79
|
0 |
0 |
unless S_ISDIR($old{'mode'}) |
|
88
|
0 |
8 |
defined $old{'mode'} ? : |
|
|
0 |
0 |
S_ISWHT($mode) ? : |
|
|
1 |
0 |
S_ISSOCK($mode) ? : |
|
|
0 |
1 |
S_ISFIFO($mode) ? : |
|
|
1 |
1 |
S_ISBLK($mode) || S_ISCHR($mode) ? : |
|
|
5 |
2 |
S_ISLNK($mode) ? : |
|
|
8 |
7 |
S_ISDIR($mode) ? : |
|
|
6 |
15 |
S_ISREG($mode) ? : |
|
109
|
0 |
0 |
if ($file->{'mode'} & S_IFMT()) != ($old->{'mode'} & S_IFMT()) |
|
111
|
0 |
0 |
if defined $file->{'uid'} and $file->{'uid'} != $old->{'uid'} or defined $file->{'gid'} and $file->{'gid'} != $old->{'gid'} |
|
113
|
0 |
0 |
if (S_ISLNK($file->{'mode'})) |
|
116
|
0 |
0 |
if $targ ne $file->{'data'} |
|
121
|
0 |
0 |
unless $file->{'mode'} == $old->{'mode'} |
|
123
|
0 |
0 |
if (S_ISREG($file->{'mode'})) { } |
|
|
0 |
0 |
elsif (S_ISBLK($file->{'mode'}) or S_ISCHR($file->{'mode'})) { } |
|
127
|
0 |
0 |
if defined $file->{'size'} and $file->{'size'} != $old->{'size'} or not _contents_same($file, $dst_abs) |
|
132
|
0 |
0 |
if $file->{'rdev'} != $old->{'rdev'} |
|
140
|
0 |
0 |
unless defined $file->{'data'} |
|
149
|
0 |
0 |
if (defined $file->{'rdev'}) { } |
|
|
0 |
0 |
elsif (defined $file->{'rdev_major'} and defined $file->{'rdev_minor'}) { } |
|
164
|
1 |
5 |
if ($file->{'nlink'} > 1) |
|
165
|
1 |
0 |
if (defined(my $already = $self->_link_map->{"$file->{'dev'}:$file->{'ino'}"})) |
|
167
|
0 |
1 |
unless link $already, $dst |
|
174
|
3 |
2 |
if defined $file->{'dev'} and defined $file->{'ino'} |
|
177
|
5 |
0 |
if (not defined $tmp or substr($tmp, 0, length $self->tmp) ne $self->tmp) |
|
178
|
0 |
5 |
unless (defined $file->{'data'}) |
|
180
|
0 |
0 |
unless defined $file->{'data_path'} |
|
189
|
0 |
5 |
unless rename $tmp, $dst |
|
196
|
8 |
0 |
unless $old |
|
205
|
0 |
5 |
unless length $file->{'data'} |
|
206
|
0 |
5 |
unless symlink $file->{'data'}, $dst_abs |
|
213
|
0 |
1 |
if (defined $file->{'rdev'} and not defined $file->{'rdev_major'} && defined $file->{'rdev_minor'}) |
|
228
|
0 |
0 |
unless POSIX::mkfifo($dst_abs, $file->{'mode'}) |
|
236
|
0 |
1 |
unless socket my $s, Socket::AF_UNIX(), Socket::SOCK_STREAM(), 0 |
|
237
|
0 |
1 |
unless bind $s, Socket::pack_sockaddr_un($dst_abs) |
|
254
|
0 |
20 |
unless my($mode, $uid, $gid, $atime, $mtime) = (lstat $abs_path)[2, 4, 5, 8, 9] |
|
258
|
0 |
20 |
if ($change_uid or $change_gid) |
|
260
|
0 |
0 |
unless $change_uid and $> == 0 |
|
261
|
0 |
0 |
unless $change_gid and $) == 0 || grep($stat->{'gid'}, split(/ /u, $), 0)) |
|
263
|
0 |
0 |
if $uid >= 0 or $gid >= 0 |
|
270
|
6 |
14 |
if (not S_ISLNK($mode) and ($mode & 4095) != ($stat->{'mode'} & 4095)) |
|
273
|
0 |
6 |
if (S_ISDIR($mode) and not $stat->{'mode'} & 146 && $stat->{'mode'} & 73) { } |
|
278
|
0 |
6 |
unless chmod $stat->{'mode'} & 4095, $abs_path |
|
282
|
10 |
5 |
if (not S_ISLNK($mode) and defined $stat->{'mtime'} || defined $stat->{'atime'}) |
|
283
|
5 |
5 |
if (S_ISDIR($mode)) { } |
|
289
|
0 |
5 |
unless utime $stat->{'atime'}, $stat->{'mtime'}, $abs_path |
|
294
|
5 |
15 |
if @delayed |
|
298
|
0 |
5 |
if (grep(($_ eq "chmod"), @delayed)) |
|
300
|
0 |
0 |
unless chmod $stat->{'mode'} & 4095, $abs_path |
|
302
|
5 |
0 |
if (grep(($_ eq "utime"), @delayed)) |
|
303
|
0 |
5 |
unless utime $stat->{'atime'}, $stat->{'mtime'}, $abs_path |