Some more testing based on Matt's recent patch.
authorWayne Davison <wayned@samba.org>
Sat, 23 Sep 2006 23:49:20 +0000 (23:49 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 23 Sep 2006 23:49:20 +0000 (23:49 +0000)
testsuite/chmod-option.test

index b00b1fc..9278fa5 100644 (file)
@@ -38,5 +38,35 @@ chmod +w "$checkdir" "$checkdir"/dir*
 
 checkit "$RSYNC -avv --chmod ug-s,a+rX,D+w \"$fromdir/\" \"$todir/\"" "$checkdir" "$todir"
 
+rm -r "$fromdir" "$checkdir" "$todir"
+makepath "$todir"
+makepath "$fromdir/foo"
+touch "$fromdir/bar"
+
+checkit "$RSYNC -avv \"$fromdir/\" \"$checkdir/\"" "$fromdir" "$checkdir"
+chmod +t "$checkdir"/bar
+
+checkit "$RSYNC -avv --chmod=F+t \"$fromdir/\" \"$todir/\"" "$checkdir" "$todir"
+
+# Tickle a bug in rsync 2.6.8: if you push a new directory with --perms off to
+# a daemon with an incoming chmod, the daemon pretends the directory is a file
+# for the purposes of the second application of the incoming chmod.
+
+build_rsyncd_conf
+cat >>"$scratchdir/test-rsyncd.conf" <<EOF
+[test-incoming-chmod]
+       path = $todir
+       read only = no
+       incoming chmod = F+t
+EOF
+
+RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon"
+export RSYNC_CONNECT_PROG
+
+rm -r "$todir"
+makepath "$todir"
+
+checkit "$RSYNC -rtvv \"$fromdir/\" localhost::test-incoming-chmod/" "$checkdir" "$todir"
+
 # The script would have aborted on error, so getting here means we've won.
 exit 0