Commit
5eeaca94 added /sbin to the PATH for tests using mkfs. For other
tests, e.g. tests/cp-fiemap-perf using filefrag, we need /usr/sbin also.
Add both directories generally for the tests, "since many of us always
augment our PATH with all of the sbin paths all of the time anyway" (Bob
in http://lists.gnu.org/archive/html/coreutils/2011-11/msg00107.html).
The previous commit is hereby obsolete.
* tests/init.cfg (sanitize_path_): Add /sbin and /usr/sbin to PATH
unless already included. Needed for tests using admin tools like mkfs
and filefrag on systems where the user's environment does not have
these directories in the PATH.
* tests/init.cfg (require_mkfs_PATH_): Remove obsolete function.
* tests/cp/cp-a-selinux: Remove require_mkfs_PATH_ call.
* tests/cp/cp-mv-enotsup-xattr: Likewise.
* tests/cp/sparse-fiemap: Likewise.
* tests/mkdir/writable-under-readonly: Likewise.
* tests/rm/read-only: Likewise.
print_ver_ cp
require_root_
require_selinux_
-require_mkfs_PATH_
cwd=`pwd`
cleanup_() { cd /; umount "$cwd/mnt"; }
print_ver_ cp mv
require_root_
-require_mkfs_PATH_
cwd=`pwd`
cleanup_() { cd /; umount "$cwd/noxattr"; umount "$cwd/xattr"; }
# It's not; we need to create one, hence we need root access.
require_root_
- require_mkfs_PATH_
cwd=$PWD
cleanup_() { cd /; umount "$cwd/mnt"; }
# Having an unsearchable directory in PATH causes execve to fail with EACCES
# when applied to an unresolvable program name, contrary to the desired ENOENT.
# Avoid the problem by rewriting PATH to exclude unsearchable directories.
+# Also, if PATH lacks /sbin and/or /usr/sbin, append it/them.
sanitize_path_()
{
# FIXME: remove double quotes around $IFS when all tests use init.sh.
fi
done
+ for d in /sbin /usr/sbin ; do
+ case ":$new_path:" in
+ *:$d:*) ;;
+ *) new_path="$new_path:$d" ;;
+ esac
+ done
+
PATH=$new_path
export PATH
}
esac
}
-# Some versions of sudo do not include /sbin in PATH.
-# Test if mkfs is in PATH, otherwise try to adapt PATH.
-require_mkfs_PATH_()
-{
- type mkfs && return
-
- case ":$PATH:" in
- *:/sbin:*) skip_ "no usable mkfs found" ;;
- esac
-
- test -x /sbin/mkfs \
- || skip_ "no usable mkfs found"
-
- PATH="$PATH:/sbin"
- export PATH
-}
-
get_process_status_()
{
sed -n '/^State:[ ]*\([[:alpha:]]\).*/s//\1/p' /proc/$1/status
. "${srcdir=.}/init.sh"; path_prepend_ ../src
print_ver_ mkdir
require_root_
-require_mkfs_PATH_
# FIXME: for now, skip it unconditionally
skip_ temporarily disabled
. "${srcdir=.}/init.sh"; path_prepend_ ../src
print_ver_ rm
require_root_
-require_mkfs_PATH_
cwd=`pwd`
cleanup_() { cd /; umount "$cwd/mnt"; }