xref: /dflybsd-src/tools/regression/bin/sh/expansion/tilde2.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/expansion/tilde2.0 206150 2010-04-03 22:04:44Z jilles $
23df4d8b0SPeter Avalos
33df4d8b0SPeter AvalosHOME=/tmp
43df4d8b0SPeter Avalosroothome=~root
53df4d8b0SPeter Avalosif [ "$roothome" = "~root" ]; then
63df4d8b0SPeter Avalos	echo "~root is not expanded!"
73df4d8b0SPeter Avalos	exit 2
83df4d8b0SPeter Avalosfi
93df4d8b0SPeter Avalos
103df4d8b0SPeter Avalostestcase() {
113df4d8b0SPeter Avalos	code="$1"
123df4d8b0SPeter Avalos	expected="$2"
133df4d8b0SPeter Avalos	oIFS="$IFS"
143df4d8b0SPeter Avalos	eval "$code"
153df4d8b0SPeter Avalos	IFS='|'
163df4d8b0SPeter Avalos	result="$#|$*"
173df4d8b0SPeter Avalos	IFS="$oIFS"
183df4d8b0SPeter Avalos	if [ "x$result" = "x$expected" ]; then
193df4d8b0SPeter Avalos		ok=x$ok
203df4d8b0SPeter Avalos	else
213df4d8b0SPeter Avalos		failures=x$failures
223df4d8b0SPeter Avalos		echo "For $code, expected $expected actual $result"
233df4d8b0SPeter Avalos	fi
243df4d8b0SPeter Avalos}
253df4d8b0SPeter Avalos
263df4d8b0SPeter Avalostestcase 'set -- ${$+~}'			'1|/tmp'
273df4d8b0SPeter Avalostestcase 'set -- ${$+~/}'			'1|/tmp/'
283df4d8b0SPeter Avalostestcase 'set -- ${$+~/foo}'			'1|/tmp/foo'
293df4d8b0SPeter Avalostestcase 'set -- ${$+x~}'			'1|x~'
303df4d8b0SPeter Avalostestcase 'set -- ${$+~root}'			"1|$roothome"
313df4d8b0SPeter Avalostestcase 'set -- ${$+"~"}'			'1|~'
323df4d8b0SPeter Avalostestcase 'set -- ${$+"~/"}'			'1|~/'
333df4d8b0SPeter Avalostestcase 'set -- ${$+"~/foo"}'			'1|~/foo'
343df4d8b0SPeter Avalostestcase 'set -- ${$+"x~"}'			'1|x~'
353df4d8b0SPeter Avalostestcase 'set -- ${$+"~root"}'			"1|~root"
363df4d8b0SPeter Avalostestcase 'set -- "${$+~}"'			'1|~'
373df4d8b0SPeter Avalostestcase 'set -- "${$+~/}"'			'1|~/'
383df4d8b0SPeter Avalostestcase 'set -- "${$+~/foo}"'			'1|~/foo'
393df4d8b0SPeter Avalostestcase 'set -- "${$+x~}"'			'1|x~'
403df4d8b0SPeter Avalostestcase 'set -- "${$+~root}"'			"1|~root"
413df4d8b0SPeter Avalostestcase 'set -- ${HOME#~}'			'0|'
423df4d8b0SPeter Avalosh=~
433df4d8b0SPeter Avalostestcase 'set -- "$h"'				'1|/tmp'
443df4d8b0SPeter Avalosf=~/foo
453df4d8b0SPeter Avalostestcase 'set -- "$f"'				'1|/tmp/foo'
463df4d8b0SPeter Avalostestcase 'set -- ${f#~}'			'1|/foo'
473df4d8b0SPeter Avalostestcase 'set -- ${f#~/}'			'1|foo'
483df4d8b0SPeter Avalos
493df4d8b0SPeter AvalosooIFS=$IFS
503df4d8b0SPeter AvalosIFS=m
513df4d8b0SPeter Avalostestcase 'set -- ${$+~}'			'1|/tmp'
523df4d8b0SPeter Avalostestcase 'set -- ${$+~/foo}'			'1|/tmp/foo'
533df4d8b0SPeter Avalostestcase 'set -- ${$+$h}'			'2|/t|p'
543df4d8b0SPeter Avalostestcase 'set -- ${HOME#~}'			'0|'
553df4d8b0SPeter AvalosIFS=$ooIFS
563df4d8b0SPeter Avalos
573df4d8b0SPeter Avalost=\~
583df4d8b0SPeter Avalostestcase 'set -- ${$+$t}'			'1|~'
593df4d8b0SPeter Avalosr=$(cat <<EOF
603df4d8b0SPeter Avalos${HOME#~}
613df4d8b0SPeter AvalosEOF
623df4d8b0SPeter Avalos)
633df4d8b0SPeter Avalostestcase 'set -- $r'				'0|'
643df4d8b0SPeter Avalosr=$(cat <<EOF
653df4d8b0SPeter Avalos${HOME#'~'}
663df4d8b0SPeter AvalosEOF
673df4d8b0SPeter Avalos)
683df4d8b0SPeter Avalostestcase 'set -- $r'				'1|/tmp'
693df4d8b0SPeter Avalosr=$(cat <<EOF
703df4d8b0SPeter Avalos${t#'~'}
713df4d8b0SPeter AvalosEOF
723df4d8b0SPeter Avalos)
733df4d8b0SPeter Avalostestcase 'set -- $r'				'0|'
743df4d8b0SPeter Avalosr=$(cat <<EOF
753df4d8b0SPeter Avalos${roothome#~root}
763df4d8b0SPeter AvalosEOF
773df4d8b0SPeter Avalos)
783df4d8b0SPeter Avalostestcase 'set -- $r'				'0|'
793df4d8b0SPeter Avalosr=$(cat <<EOF
803df4d8b0SPeter Avalos${f#~}
813df4d8b0SPeter AvalosEOF
823df4d8b0SPeter Avalos)
833df4d8b0SPeter Avalostestcase 'set -- $r'				'1|/foo'
843df4d8b0SPeter Avalosr=$(cat <<EOF
853df4d8b0SPeter Avalos${f#~/}
863df4d8b0SPeter AvalosEOF
873df4d8b0SPeter Avalos)
883df4d8b0SPeter Avalostestcase 'set -- $r'				'1|foo'
893df4d8b0SPeter Avalos
903df4d8b0SPeter Avalostest "x$failures" = x
91