mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-08-10 18:52:01 +02:00
tests: ensure that cp's -a doesn't silence --preserve=context
* tests/cp/cp-a-selinux: Ensure that the -a option does not silence error diagnostics from --preserve=context, when preserving context is required.
This commit is contained in:
committed by
Jim Meyering
parent
8259a73a85
commit
cb9fd93743
@@ -78,6 +78,14 @@ cp --preserve=context f g 2> out && fail=1
|
||||
# Here, we *do* expect the destination to be empty.
|
||||
test -s g && fail=1
|
||||
|
||||
rm -f g
|
||||
echo > g
|
||||
# Check if -a option doesn't silence --preserve=context option diagnostics
|
||||
cp -a --preserve=context f g 2> out2 && fail=1
|
||||
|
||||
# Here, we *do* expect the destination to be empty.
|
||||
test -s g && fail=1
|
||||
|
||||
# An alternative to the current approach would be to run in a confined
|
||||
# domain (maybe creating/loading it) that lacks the required permissions
|
||||
# to the file type.
|
||||
@@ -87,11 +95,14 @@ test -s g && fail=1
|
||||
# Operation not supported
|
||||
sed "s/ .g' to .*//" out > k
|
||||
mv k out
|
||||
sed "s/ .g' to .*//" out2 > k
|
||||
mv k out2
|
||||
|
||||
cat <<\EOF > exp || fail=1
|
||||
cp: failed to set the security context of
|
||||
EOF
|
||||
|
||||
compare out exp || fail=1
|
||||
compare out2 exp || fail=1
|
||||
|
||||
Exit $fail
|
||||
|
||||
Reference in New Issue
Block a user