Another xattr "internal abbrev" fix for an xattr object that is
[rsync/rsync.git] / testsuite / executability.test
1 #! /bin/sh
2
3 # This program is distributable under the terms of the GNU GPL (see
4 # COPYING).
5
6 # Test the --executability or -E option. -- Matt McCutchen
7
8 . $srcdir/testsuite/rsync.fns
9
10 # Put some files in the From directory
11 mkdir "$fromdir"
12 cat <<EOF >"$fromdir/1"
13 #!/bin/sh
14 echo 'Program One!'
15 EOF
16 cat <<EOF >"$fromdir/2"
17 #!/bin/sh
18 echo 'Program Two!'
19 EOF
20
21 chmod 1700 "$fromdir/1" || test_skipped "Can't chmod"
22 chmod 600 "$fromdir/2"
23
24 $RSYNC -rvv "$fromdir/" "$todir/"
25
26 check_perms "$todir/1" rwx------ 1
27 check_perms "$todir/2" rw------- 1
28
29 # Mix up the permissions a bit
30 chmod 600 "$fromdir/1"
31 chmod 601 "$fromdir/2"
32 chmod 604 "$todir/2"
33
34 $RSYNC -rvv "$fromdir/" "$todir/"
35
36 # No -E, so nothing should have changed
37 check_perms "$todir/1" rwx------ 2
38 check_perms "$todir/2" rw----r-- 2
39
40 $RSYNC -rvvE "$fromdir/" "$todir/"
41
42 # Now things should have happened!
43 check_perms "$todir/1" rw------- 3
44 check_perms "$todir/2" rwx---r-x 3
45
46 # Hooray
47 exit 0