mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-08-05 00:07:51 +02:00
tests: adjust setfacl usage to accommodate Solaris 10
* cfg.mk (sc_prohibit_short_facl_mode_spec): New rule. * tests/cp/acl: Extend setfacl mode spec to have length 3. * tests/ls/slink-acl: Likewise. * tests/mv/acl: Likewise. Report and analysis by Bruno Haible.
This commit is contained in:
@@ -245,6 +245,15 @@ sc_prohibit_fail_0:
|
||||
halt='fail=0 initialization' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# The mode part of a setfacl -m option argument must be three bytes long.
|
||||
# I.e., an argument of user:bin:rw or user:bin:r will make Solaris 10's
|
||||
# setfacl reject it with: "Unrecognized character found in mode field".
|
||||
# Use hyphens to give it a length of 3: "...:rw-" or "...:r--".
|
||||
sc_prohibit_short_facl_mode_spec:
|
||||
@prohibit='\<setfacl .*-m.*:.*:[rwx-]{1,2} ' \
|
||||
halt='setfacl mode string length < 3; extend with hyphen(s)' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Ensure that "stdio--.h" is used where appropriate.
|
||||
sc_require_stdio_safer:
|
||||
@if $(VC_LIST_EXCEPT) | grep -l '\.[ch]$$' > /dev/null; then \
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ touch a/file || framework_failure_
|
||||
# Ensure that setfacl and getfacl work on this file system.
|
||||
skip=no
|
||||
acl1=`cd a && getfacl file` || skip=yes
|
||||
setfacl -m user:bin:rw a/file 2> /dev/null || skip=yes
|
||||
setfacl -m user:bin:rw- a/file 2> /dev/null || skip=yes
|
||||
test $skip = yes &&
|
||||
skip_ "'.' is not on a suitable file system for this test"
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ print_ver_ ls
|
||||
require_setfacl_
|
||||
|
||||
touch k || framework_failure_
|
||||
setfacl -m user::r k || framework_failure_
|
||||
setfacl -m user::r-- k || framework_failure_
|
||||
ln -s k s || framework_failure_
|
||||
|
||||
set _ $(ls -Log s); shift; link=$1
|
||||
|
||||
+4
-4
@@ -35,9 +35,9 @@ touch $t1 || framework_failure_
|
||||
|
||||
skip_partition=none
|
||||
# Ensure that setfacl and getfacl work on this file system.
|
||||
setfacl -m user:bin:rw file 2> /dev/null || skip_partition=.
|
||||
setfacl -m user:bin:rw- file 2> /dev/null || skip_partition=.
|
||||
# And on the destination file system.
|
||||
setfacl -m user:bin:rw $t1 || skip_partition=$other_partition_tmpdir
|
||||
setfacl -m user:bin:rw- $t1 || skip_partition=$other_partition_tmpdir
|
||||
acl1=`getfacl file` || skip_partition=.
|
||||
|
||||
test $skip_partition != none &&
|
||||
@@ -50,7 +50,7 @@ test "$acl1" = "$acl2" || fail=1
|
||||
|
||||
# move the access acl of a directory
|
||||
mkdir dir || framework_failure_
|
||||
setfacl -m user:bin:rw 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_
|
||||
@@ -58,7 +58,7 @@ test "$acl1" = "$acl2" || fail=1
|
||||
|
||||
# move the default acl of a directory
|
||||
mkdir dir2 || framework_failure_
|
||||
setfacl -d -m user:bin:rw 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_
|
||||
|
||||
Reference in New Issue
Block a user