Branch Coverage

blib/lib/Brackup/Restore.pm
Criterion Covered Total %
branch 72 132 54.5


line true false branch
25 4 7 if $$self{'prefix'}
29 0 11 unless $$self{'to'} and -d $$self{'to'}
30 0 11 if %opts
42 125 22 unless $k =~ /^Driver-(.+)/
53 0 11 unless $driver_class
58 0 11 if ($$self{'config'} and $$meta{'TargetName'})
64 0 11 unless eval "use $driver_class; 1;"
67 0 11 if ($@)
74 0 11 if ($$self{'prefix'} and $$self{'prefix'} =~ m[^/])
85 126 29 if ($type eq 'f') { }
29 0 elsif ($type eq 'd') { }
105 0 155 unless $type =~ /^[ldfp]$/
107 60 95 if ($$self{'prefix'})
108 54 6 unless $path =~ m[^\Q$$self{'prefix'}\E(?:/|$)]
110 2 4 if ($type ne 'd' and $path =~ m[^\Q$$self{'prefix'}\E/?$]) { }
111 1 1 if (my($leading_prefix) = $$self{'prefix'} =~ m[^(.*/)[^/]+/?$])
127 19 73 $type eq 'd' ? :
131 0 101 if $$self{'verbose'}
132 0 101 if $type eq 'l'
133 19 82 if $type eq 'd'
134 0 101 if $type eq 'p'
135 82 19 if $type eq 'f'
137 101 0 if $$it{'UID'} or $$it{'GID'}
144 10 1 if ($restore_count) { }
145 0 10 if $$self{'verbose'}
147 0 10 if $$self{'verbose'}
150 1 0 if $$self{'prefix'}
158 91 10 if defined $$self{'_local_uid_map'}{$remote_uid}
165 0 10 if (my $remote_user = $$self{'_remote_user_map'}{$remote_uid})
167 0 0 if defined $local_uid
178 91 10 if defined $$self{'_local_gid_map'}{$remote_gid}
185 0 10 if (my $remote_group = $$self{'_remote_group_map'}{$remote_gid})
187 0 0 if defined $local_gid
198 101 0 if $$it{'UID'}
199 101 0 if $$it{'GID'}
201 0 101 if ($type eq 'l') { }
202 0 0 unless (defined $$self{'_lchown'})
206 0 0 if ($$self{'_lchown'})
207 0 0 if defined $uid
208 0 0 if defined $gid
212 101 0 if defined $uid
213 101 0 if defined $gid
221 101 0 if (defined $$it{'Mode'})
222 0 101 unless chmod oct $$it{'Mode'}, $full
226 101 0 if ($$it{'Mtime'} or $$it{'Atime'})
227 0 101 unless utime $$it{'Atime'} || $$it{'Mtime'}, $$it{'Mtime'} || $$it{'Atime'}, $full
250 11 8 unless (-d $full)
251 0 11 unless mkdir $full
261 0 0 if (-e $full)
265 0 0 unless symlink $$it{'Link'}, $full
272 0 0 if (-e $full)
276 0 0 unless mkfifo($full, $$it{'Mode'})
284 0 82 if (-e $full and -s $full)
289 0 82 unless sysopen my $fh, $full, 577
301 23 77 if ($dig eq ($$self{'_cached_dig'} || '')) { }
302 0 23 if $$self{'verbose'}
305 0 77 if $$self{'verbose'}
306 0 77 unless $dataref = $$self{'_target'}->load_chunk($dig)
315 15 85 if ($enc_len =~ /^(\d+)-(\d+)$/) { }
318 0 15 unless ($len_chunk >= $to)
326 0 85 unless ($len_chunk == $enc_len)
334 0 82 unless close $fh
336 82 0 if (my $good_dig = $$it{'Digest'})
337 0 82 unless $good_dig =~ /^sha1:(.+)/
341 0 82 unless sysopen my $readfh, $full, 0
348 0 82 unless ($actual_dig eq $good_dig or $full =~ /\.brackup-digest\.db\b/)