summaryrefslogtreecommitdiff
path: root/tests/cp/fail-perm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cp/fail-perm')
-rwxr-xr-xtests/cp/fail-perm13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/cp/fail-perm b/tests/cp/fail-perm
index 332b5b354..160b1e76a 100755
--- a/tests/cp/fail-perm
+++ b/tests/cp/fail-perm
@@ -14,13 +14,24 @@ touch D/a || framework_failure=1
chmod 0 D/a || framework_failure=1
chmod 500 D || framework_failure=1
+touch file || framework_failure=1
+chmod u-w file || framework_failure=1
+(echo foo >> file) >/dev/null 2>&1 && {
+ echo '********************************************'
+ echo "$0: NOTICE: This test case cannot be run as root."
+ echo '********************************************'
+ exit 77
+}
+
if test $framework_failure = 1; then
echo 'failure in testing framework'
exit 1
fi
fail=0
-cp -pR D DD > /dev/null 2>&1 || fail=1
+
+# This is expected to exit non-zero, because it can't read D/a.
+cp -pR D DD > /dev/null 2>&1 && fail=1
# Permissions on DD must be `dr-x------'