Annotation of embedaddon/rsync/testsuite/acls.test, revision 1.1

1.1     ! misho       1: #! /bin/sh
        !             2: 
        !             3: # This program is distributable under the terms of the GNU GPL (see
        !             4: # COPYING).
        !             5: 
        !             6: # Test that rsync handles basic ACL preservation.
        !             7: 
        !             8: . $srcdir/testsuite/rsync.fns
        !             9: 
        !            10: $RSYNC --version | grep ", ACLs" >/dev/null || test_skipped "Rsync is configured without ACL support"
        !            11: 
        !            12: makepath "$fromdir/foo"
        !            13: echo something >"$fromdir/file1"
        !            14: echo else >"$fromdir/file2"
        !            15: 
        !            16: files='foo file1 file2'
        !            17: 
        !            18: case "$setfacl_nodef" in
        !            19: true)
        !            20:     if ! chmod --help 2>&1 | fgrep +a >/dev/null; then
        !            21:        test_skipped "I don't know how to use setfacl or chmod for ACLs"
        !            22:     fi
        !            23:     chmod +a "root allow read,write,execute" "$fromdir/foo" || test_skipped "Your filesystem has ACLs disabled"
        !            24:     chmod +a "root allow read,execute" "$fromdir/file1"
        !            25:     chmod +a "admin allow read" "$fromdir/file1"
        !            26:     chmod +a "daemon allow read,write" "$fromdir/file1"
        !            27:     chmod +a "root allow read,execute" "$fromdir/file2"
        !            28: 
        !            29:     see_acls() {
        !            30:        ls -le "${@}"
        !            31:     }
        !            32:     ;;
        !            33: *)
        !            34:     setfacl -m u:0:7 "$fromdir/foo" || test_skipped "Your filesystem has ACLs disabled"
        !            35:     setfacl -m g:1:5 "$fromdir/foo"
        !            36:     setfacl -m g:2:1 "$fromdir/foo"
        !            37:     setfacl -m g:0:7 "$fromdir/foo"
        !            38:     setfacl -m u:2:1 "$fromdir/foo"
        !            39:     setfacl -m u:1:5 "$fromdir/foo"
        !            40: 
        !            41:     setfacl -m u:0:5 "$fromdir/file1"
        !            42:     setfacl -m g:0:4 "$fromdir/file1"
        !            43:     setfacl -m u:1:6 "$fromdir/file1"
        !            44: 
        !            45:     setfacl -m u:0:5 "$fromdir/file2"
        !            46: 
        !            47:     see_acls() {
        !            48:        getfacl "${@}"
        !            49:     }
        !            50:     ;;
        !            51: esac
        !            52: 
        !            53: cd "$fromdir"
        !            54: $RSYNC -avvA $files "$todir/"
        !            55: 
        !            56: see_acls $files >"$scratchdir/acls.txt"
        !            57: 
        !            58: cd "$todir"
        !            59: see_acls $files | diff $diffopt "$scratchdir/acls.txt" -
        !            60: 
        !            61: # The script would have aborted on error, so getting here means we've won.
        !            62: exit 0

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>