mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-10-21 05:14:15 -04:00
Matt's executability test with a few tweaks (e.g. to avoid using
"stat").
This commit is contained in:
1 parent
a5df33bb62
commit
c6fbd563d8
1 file changed
+58
@@ -0,0 +1,58 @@
|
||||
#! /bin/sh
|
||||
|
||||
# This program is distributable under the terms of the GNU GPL see
|
||||
# COPYING).
|
||||
|
||||
# Test the --executability or -E option. -- Matt McCutchen
|
||||
|
||||
. $srcdir/testsuite/rsync.fns
|
||||
|
||||
set -x
|
||||
|
||||
P600='^-rw-------'
|
||||
P604='^-rw----r--'
|
||||
P700='^-rwx------'
|
||||
P705='^-rwx---r-x'
|
||||
|
||||
check_perms() {
|
||||
$TOOLDIR/tls "$1" | grep "$2" >/dev/null
|
||||
}
|
||||
|
||||
# Put some files in the From directory
|
||||
mkdir "$fromdir"
|
||||
cat <<EOF >"$fromdir/1"
|
||||
#!/bin/sh
|
||||
echo 'Program One!'
|
||||
EOF
|
||||
cat <<EOF >"$fromdir/2"
|
||||
#!/bin/sh
|
||||
echo 'Program Two!'
|
||||
EOF
|
||||
|
||||
chmod 700 "$fromdir/1" || test_skipped "Can't chmod"
|
||||
chmod 600 "$fromdir/2"
|
||||
|
||||
$RSYNC -rvv "$fromdir/" "$todir/"
|
||||
|
||||
check_perms "$todir/1" $P700 || test_fail "After initial transfer: to/1 should have 700 permissions"
|
||||
check_perms "$todir/2" $P600 || test_fail "After initial transfer: to/2 should have 600 permissions"
|
||||
|
||||
# Mix up the permissions a bit
|
||||
chmod 600 "$fromdir/1"
|
||||
chmod 601 "$fromdir/2"
|
||||
chmod 604 "$todir/2"
|
||||
|
||||
$RSYNC -rvv "$fromdir/" "$todir/"
|
||||
|
||||
# No -E, so nothing should have changed
|
||||
check_perms "$todir/1" $P700 || test_fail "After update without -E: to/1 should still have 700 permissions"
|
||||
check_perms "$todir/2" $P604 || test_fail "After update without -E: to/2 should still have 604 permissions"
|
||||
|
||||
$RSYNC -rvvE "$fromdir/" "$todir/"
|
||||
|
||||
# Now things should have happened!
|
||||
check_perms "$todir/1" $P600 || test_fail "After update with -E: to/1 should now have 600 permissions"
|
||||
check_perms "$todir/2" $P705 || test_fail "After update with -E: to/2 should now have 705 permissions"
|
||||
|
||||
# Hooray
|
||||
exit 0
|
||||
Reference in new issue
Block a user