summaryrefslogtreecommitdiff
path: root/tests/rm/fail-2eperm
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-09-12 14:52:26 +0200
committerJim Meyering <jim@meyering.net>2007-09-15 08:40:39 +0200
commita669dfdabb3fa1be2e1367d53a797d495e7bd5c9 (patch)
treec88d6414649f7f4f5571138e193c72da44a03876 /tests/rm/fail-2eperm
parent0539705768992ebcc290bc859f64e27898c7f958 (diff)
downloadcoreutils-a669dfdabb3fa1be2e1367d53a797d495e7bd5c9.tar.xz
More misc, test-related changes. (some to allow running tests as root)
Diffstat (limited to 'tests/rm/fail-2eperm')
-rwxr-xr-xtests/rm/fail-2eperm26
1 files changed, 6 insertions, 20 deletions
diff --git a/tests/rm/fail-2eperm b/tests/rm/fail-2eperm
index ed43807c9..bafd5bfcc 100755
--- a/tests/rm/fail-2eperm
+++ b/tests/rm/fail-2eperm
@@ -24,27 +24,14 @@ fi
. $srcdir/../lang-default
PRIV_CHECK_ARG=require-root . $srcdir/../priv-check
-
-pwd=`pwd`
-t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
-trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
-trap '(exit $?); exit $?' 1 2 13 15
-
-framework_failure=0
-mkdir -p $tmp || framework_failure=1
-cd $tmp || framework_failure=1
+. $srcdir/../test-lib.sh
# The containing directory must be owned by the user who eventually runs rm.
chown $NON_ROOT_USERNAME .
-mkdir a || framework_failure=1
-chmod 1777 a || framework_failure=1
-touch a/b || framework_failure=1
-
-if test $framework_failure = 1; then
- echo "$0: failure in testing framework" 1>&2
- (exit 1); exit 1
-fi
+mkdir a || framework_failure
+chmod 1777 a || framework_failure
+touch a/b || framework_failure
fail=0
@@ -53,7 +40,7 @@ fail=0
rm_version=`setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm --version|sed -n '1s/.* //p'`
case $rm_version in
$PACKAGE_VERSION) ;;
- *) echo "$0: cannot access required version ($PACKAGE_VERSION) of rm" 1>&2
+ *) echo "$0: cannot access just-built rm as user $NON_ROOT_USERNAME" 1>&2
fail=1 ;;
esac
setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm -rf a 2> out-t && fail=1
@@ -67,7 +54,6 @@ cat <<\EOF > exp
rm: cannot remove `a/b': Operation not permitted
EOF
-cmp out exp || fail=1
-test $fail = 1 && diff out exp 2> /dev/null
+compare out exp || fail=1
(exit $fail); exit $fail