diff options
author | Jim Meyering <jim@meyering.net> | 2007-09-12 14:52:26 +0200 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2007-09-15 08:40:39 +0200 |
commit | a669dfdabb3fa1be2e1367d53a797d495e7bd5c9 (patch) | |
tree | c88d6414649f7f4f5571138e193c72da44a03876 /tests/rm/fail-2eperm | |
parent | 0539705768992ebcc290bc859f64e27898c7f958 (diff) | |
download | coreutils-a669dfdabb3fa1be2e1367d53a797d495e7bd5c9.tar.xz |
More misc, test-related changes. (some to allow running tests as root)
Diffstat (limited to 'tests/rm/fail-2eperm')
-rwxr-xr-x | tests/rm/fail-2eperm | 26 |
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 |