Branch Coverage

blib/lib/Paranoid/Filesystem.pm
Criterion Covered Total %
branch 142 228 62.2


line true false branch
93 6 1 if (defined $path)
94 2 4 ref $path eq 'Paranoid::Glob' ? :
101 1 6 unless defined $dirs
104 6 1 if ($rv)
105 2 4 defined $mode ? :
106 1 5 unless (&detaint(\$mode, 'int'))
114 5 2 if ($rv)
121 0 11 if -d $directory
126 0 11 $parts[0] eq '' ? :
130 17 0 unless (-d $subdir)
131 17 0 if (mkdir $subdir, $mode) { }
173 0 7 unless defined $errRef
177 7 0 if (defined $target)
178 6 1 ref $target eq 'Paranoid::Glob' ? :
183 0 7 unless defined $glob
186 7 0 if ($rv)
198 2 19 unless (@fstat)
202 2 0 if $! == 2
212 12 7 if (S_ISDIR($fstat[2])) { }
215 1 11 unless (rmdir $_)
227 0 7 unless (unlink $_)
264 0 4 unless defined $errRef
268 4 0 if (defined $target)
269 0 4 ref $target eq 'Paranoid::Glob' ? :
274 0 4 unless defined $glob
276 4 0 if ($rv)
307 1 5 unless (defined $dir and -e $dir and -d _ and -r _)
309 1 0 !-d(_) ? :
3 1 !-e(_) ? :
0 4 !defined($dir) ? :
319 5 4 if ($rv)
324 5 0 if ($rv) { }
328 13 10 unless /^\.\.?$/s
333 0 5 if $noLinks
363 3 0 unless defined $noLinks
372 2 1 if $rv
396 3 0 unless defined $noLinks
406 2 1 if $rv
427 8 1 if (defined $filename)
474 0 2 unless (defined $link and scalar lstat $link)
484 0 2 if ($fullyTranslate) { }
490 0 0 if (defined $target) { }
507 2 0 if (-l $link)
514 2 0 if ($target =~ m[^(?:\.\.?/|[^/])]s) { }
527 2 0 if defined $link
555 2 5 unless defined $errRef
559 7 0 if (defined $target)
560 3 4 ref $target eq 'Paranoid::Glob' ? :
565 0 7 unless defined $glob
567 7 0 if ($rv)
570 4 3 unless defined $stamp
572 0 7 unless (&detaint(\$stamp, 'int'))
580 7 0 if ($rv)
591 4 12 unless (-e $target)
595 2 2 if (defined $fh) { }
604 14 2 if ($irv)
605 0 14 unless (utime $stamp, $stamp, $target)
641 1 2 unless defined $errRef
645 3 0 if (defined $target)
646 1 2 ref $target eq 'Paranoid::Glob' ? :
651 0 3 unless defined $glob
653 3 0 if ($rv)
682 12 9 if (defined $perm and $perm =~ /^\d+$/s) { }
6 3 elsif (defined $perm and $perm =~ /^([ugo]+)([+\-])([rwxst]+)$/s) { }
684 2 10 if ($perm =~ /^0/s) { }
685 1 1 if ($perm =~ /^0[0-8]{3,4}$/s) { }
706 3 3 if $tmp[0] =~ /u/s
707 2 4 if $tmp[0] =~ /g/s
708 4 2 if $tmp[0] =~ /o/s
709 6 0 if $tmp[2] =~ /r/s
710 5 1 if $tmp[2] =~ /w/s
711 6 0 if $tmp[2] =~ /x/s
713 1 5 if $tmp[2] =~ /t/s
714 0 6 if $tmp[2] =~ /s/s and $tmp[0] =~ /g/s
715 1 5 if $tmp[2] =~ /s/s and $tmp[0] =~ /u/s
727 17 4 defined $rv ? :
757 1 7 unless defined $errRef
761 8 0 if (defined $target)
762 6 2 ref $target eq 'Paranoid::Glob' ? :
767 0 8 unless defined $glob
770 8 0 if (defined $perms and defined($ptrans = ptranslatePerms($perms))) { }
771 3 5 if ($perms =~ /[ugo]+[+-]/is) { }
772 0 3 $perms =~ /-/s ? :
781 8 0 if ($rv)
790 8 12 if (defined $ptrans) { }
794 1 7 unless (@fstat)
806 7 0 $addPerms ? :
818 7 0 $addPerms ? :
824 0 7 unless (chmod $cperms, $_)
837 12 0 if (&detaint(\$perms, 'int')) { }
847 2 10 unless (chmod $perms, $_)
891 2 2 unless defined $errRef
895 4 0 if (defined $target)
896 0 4 ref $target eq 'Paranoid::Glob' ? :
901 0 4 unless defined $glob
903 4 0 if ($rv)
937 0 0 unless defined $user
938 0 0 unless defined $group
939 0 0 unless $user =~ /^-?\d+$/s
940 0 0 unless $group =~ /^-?\d+$/s
941 0 0 unless (defined $user and defined $group)
948 0 0 unless defined $errRef
952 0 0 if (defined $target)
953 0 0 ref $target eq 'Paranoid::Glob' ? :
958 0 0 unless defined $glob
960 0 0 if ($rv and $user != -1 || $group != -1)
973 0 0 unless (chown $user, $group, $_)
1012 0 0 unless defined $errRef
1016 0 0 if (defined $target)
1017 0 0 ref $target eq 'Paranoid::Glob' ? :
1022 0 0 unless defined $glob
1024 0 0 if ($rv)
1052 2 0 if (&detaint(\$binary, 'filename', \$b)) { }
1057 1 2 if (-r "$_/$b" and -x _)