|
|
#!/bin/sh |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src |
|
|
print_ver_ mv |
|
|
|
|
|
require_acl_ |
|
|
|
|
|
|
|
|
grep '^#define USE_ACL 1' $CONFIG_HEADER > /dev/null || |
|
|
skip_ "insufficient ACL support" |
|
|
|
|
|
cleanup_() { rm -rf "$other_partition_tmpdir"; } |
|
|
. "$abs_srcdir/tests/other-fs-tmpdir" |
|
|
|
|
|
touch file || framework_failure_ |
|
|
t1=$other_partition_tmpdir/t1 |
|
|
touch $t1 || framework_failure_ |
|
|
|
|
|
skip_partition=none |
|
|
|
|
|
setfacl -m user:bin:rw- file 2> /dev/null || skip_partition=. |
|
|
|
|
|
setfacl -m user:bin:rw- $t1 || skip_partition=$other_partition_tmpdir |
|
|
acl1=$(getfacl file) || skip_partition=. |
|
|
|
|
|
test $skip_partition != none && |
|
|
skip_ "'$skip_partition' is not on a suitable file system for this test" |
|
|
|
|
|
|
|
|
mv file "$other_partition_tmpdir" || fail=1 |
|
|
acl2=$(cd "$other_partition_tmpdir" && getfacl file) || framework_failure_ |
|
|
test "$acl1" = "$acl2" || fail=1 |
|
|
|
|
|
|
|
|
mkdir dir || framework_failure_ |
|
|
setfacl -m user:bin:rw- dir || framework_failure_ |
|
|
acl1=$(getfacl dir) || framework_failure_ |
|
|
mv dir "$other_partition_tmpdir" || fail=1 |
|
|
acl2=$(cd "$other_partition_tmpdir" && getfacl dir) || framework_failure_ |
|
|
test "$acl1" = "$acl2" || fail=1 |
|
|
|
|
|
|
|
|
mkdir dir2 || framework_failure_ |
|
|
setfacl -d -m user:bin:rw- dir2 || framework_failure_ |
|
|
acl1=$(getfacl dir2) || framework_failure_ |
|
|
mv dir2 "$other_partition_tmpdir" || fail=1 |
|
|
acl2=$(cd "$other_partition_tmpdir" && getfacl dir2) || framework_failure_ |
|
|
test "$acl1" = "$acl2" || fail=1 |
|
|
|
|
|
Exit $fail |
|
|
|