diff options
author | stefanf <stefanf@FreeBSD.org> | 2009-11-21 14:12:51 +0000 |
---|---|---|
committer | stefanf <stefanf@FreeBSD.org> | 2009-11-21 14:12:51 +0000 |
commit | a85bade2b14950ef85d7eff28bbc53d11842b207 (patch) | |
tree | 2e32b1abcb01cafc70428e47e8894f7d22279811 /tools | |
parent | 10efa8a23836d92c902c5f6a2847850c92f0d65f (diff) | |
download | FreeBSD-src-a85bade2b14950ef85d7eff28bbc53d11842b207.zip FreeBSD-src-a85bade2b14950ef85d7eff28bbc53d11842b207.tar.gz |
Add a few very basic tests for cd -{L,P} and pwd -{L,P}.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/regression/bin/sh/builtins/cd1.0 | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/tools/regression/bin/sh/builtins/cd1.0 b/tools/regression/bin/sh/builtins/cd1.0 index 5297023..b615174 100644 --- a/tools/regression/bin/sh/builtins/cd1.0 +++ b/tools/regression/bin/sh/builtins/cd1.0 @@ -1,17 +1,27 @@ # $FreeBSD$ set -e -PDIR=${TMPDIR:-/tmp} -cd ${PDIR} -TMPDIR=$(mktemp -d sh-test.XXXXXX) -chmod 0 ${TMPDIR} +P=${TMPDIR:-/tmp} +cd $P +T=$(mktemp -d sh-test.XXXXXX) -cd -L ${TMPDIR} 2>/dev/null && exit 1 -[ "${PWD}" = "${PDIR}" ] -[ "$(pwd)" = "${PDIR}" ] -cd -P ${TMPDIR} 2>/dev/null && exit 1 -[ "${PWD}" = "${PDIR}" ] -[ "$(pwd)" = "${PDIR}" ] +chmod 0 $T +cd -L $T 2>/dev/null && exit 1 +[ "$PWD" = "$P" ] +[ "$(pwd)" = "$P" ] +cd -P $T 2>/dev/null && exit 1 +[ "$PWD" = "$P" ] +[ "$(pwd)" = "$P" ] -chmod 755 ${TMPDIR} -rmdir ${TMPDIR} +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} |