coreutils/tests/setgid-check
Jim Meyering 112efa81f2 Replace all occurrences of `(exit N); exit' with
`(exit N); exit N'.  Otherwise, those many tests could exit with
improper exit status when exiting via e.g., a trapped interrupt.
Thanks to a report from Bob Proulx.
2004-06-23 15:07:00 +00:00

26 lines
664 B
Bash

# -*- sh -*-
# Disable the current test if the working directory seems to have
# the setgid bit set.
# This test should be run in the temporary directory that ends
# up being removed via the trap commands.
cwd_is_setgid=no
setgid_tmpdir=setgid-$$
(umask 77; mkdir $setgid_tmpdir)
p=`ls -ld $setgid_tmpdir|sed 's/ .*//'`
rmdir $setgid_tmpdir
case $p in
drwx------);;
drwxr-xr-x);; # Windows98 + DJGPP 2.03 + fileutils-4.1 does this.
*) cwd_is_setgid=yes;;
esac
if test $cwd_is_setgid = yes; then
cat <<EOF >&2
$0: Since it looks like you're running this test in a directory with
the setgid bit set, we're skipping this test.
EOF
(exit 77); exit 77
fi