xref: /dflybsd-src/tools/regression/bin/sh/builtins/cd1.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/builtins/cd1.0 228975 2011-12-30 00:04:11Z uqs $
23df4d8b0SPeter Avalosset -e
33df4d8b0SPeter Avalos
43df4d8b0SPeter AvalosP=${TMPDIR:-/tmp}
53df4d8b0SPeter Avaloscd $P
63df4d8b0SPeter AvalosT=$(mktemp -d sh-test.XXXXXX)
73df4d8b0SPeter Avalos
83df4d8b0SPeter Avaloschmod 0 $T
93df4d8b0SPeter Avalosif [ `id -u` -ne 0 ]; then
10f00eae14SPeter Avalos	# Root can always cd, regardless of directory permissions.
113df4d8b0SPeter Avalos	cd -L $T 2>/dev/null && exit 1
123df4d8b0SPeter Avalos	[ "$PWD" = "$P" ]
133df4d8b0SPeter Avalos	[ "$(pwd)" = "$P" ]
143df4d8b0SPeter Avalos	cd -P $T 2>/dev/null && exit 1
153df4d8b0SPeter Avalos	[ "$PWD" = "$P" ]
163df4d8b0SPeter Avalos	[ "$(pwd)" = "$P" ]
173df4d8b0SPeter Avalosfi
183df4d8b0SPeter Avalos
193df4d8b0SPeter Avaloschmod 755 $T
203df4d8b0SPeter Avaloscd $T
213df4d8b0SPeter Avalosmkdir -p 1/2/3
223df4d8b0SPeter Avalosln -s 1/2 link1
233df4d8b0SPeter Avalosln -s 2/3 1/link2
243df4d8b0SPeter Avalos(cd -L 1/../1 && [ "$(pwd -L)" = "$P/$T/1" ])
253df4d8b0SPeter Avalos(cd -L link1 && [ "$(pwd -L)" = "$P/$T/link1" ])
263df4d8b0SPeter Avalos(cd -L link1 && [ "$(pwd -P)" = "$P/$T/1/2" ])
273df4d8b0SPeter Avalos(cd -P link1 && [ "$(pwd -L)" = "$P/$T/1/2" ])
283df4d8b0SPeter Avalos(cd -P link1 && [ "$(pwd -P)" = "$P/$T/1/2" ])
293df4d8b0SPeter Avalos
303df4d8b0SPeter Avalosrm -rf ${P}/${T}
31