31 lines
645 B
Plaintext
31 lines
645 B
Plaintext
# $FreeBSD$
|
|
set -e
|
|
|
|
P=${TMPDIR:-/tmp}
|
|
cd $P
|
|
T=$(mktemp -d sh-test.XXXXXX)
|
|
|
|
chmod 0 $T
|
|
if [ `id -u` -ne 0 ]; then
|
|
# Root can always cd, irregardless of directory permissions.
|
|
cd -L $T 2>/dev/null && exit 1
|
|
[ "$PWD" = "$P" ]
|
|
[ "$(pwd)" = "$P" ]
|
|
cd -P $T 2>/dev/null && exit 1
|
|
[ "$PWD" = "$P" ]
|
|
[ "$(pwd)" = "$P" ]
|
|
fi
|
|
|
|
chmod 755 $T
|
|
cd $T
|
|
mkdir -p 1/2/3
|
|
ln -s 1/2 link1
|
|
ln -s 2/3 1/link2
|
|
(cd -L 1/../1 && [ "$(pwd -L)" = "$P/$T/1" ])
|
|
(cd -L link1 && [ "$(pwd -L)" = "$P/$T/link1" ])
|
|
(cd -L link1 && [ "$(pwd -P)" = "$P/$T/1/2" ])
|
|
(cd -P link1 && [ "$(pwd -L)" = "$P/$T/1/2" ])
|
|
(cd -P link1 && [ "$(pwd -P)" = "$P/$T/1/2" ])
|
|
|
|
rm -rf ${P}/${T}
|