xref: /dflybsd-src/tools/regression/bin/sh/parameters/positional2.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/parameters/positional2.0 228873 2011-12-25 13:24:48Z jilles $
288a45a95SPeter Avalos
388a45a95SPeter Avalosfailures=''
488a45a95SPeter Avalosok=''
588a45a95SPeter Avalos
688a45a95SPeter Avalostestcase() {
788a45a95SPeter Avalos	code="$1"
888a45a95SPeter Avalos	expected="$2"
988a45a95SPeter Avalos	oIFS="$IFS"
1088a45a95SPeter Avalos	eval "$code"
1188a45a95SPeter Avalos	IFS='|'
1288a45a95SPeter Avalos	result="$#|$*"
1388a45a95SPeter Avalos	IFS="$oIFS"
1488a45a95SPeter Avalos	if [ "x$result" = "x$expected" ]; then
1588a45a95SPeter Avalos		ok=x$ok
1688a45a95SPeter Avalos	else
1788a45a95SPeter Avalos		failures=x$failures
1888a45a95SPeter Avalos		echo "For $code, expected $expected actual $result"
1988a45a95SPeter Avalos	fi
2088a45a95SPeter Avalos}
2188a45a95SPeter Avalos
2288a45a95SPeter Avalostestcase 'set -- a b; set -- p$@q'		'2|pa|bq'
2388a45a95SPeter Avalostestcase 'set -- a b; set -- $@q'		'2|a|bq'
2488a45a95SPeter Avalostestcase 'set -- a b; set -- p$@'		'2|pa|b'
2588a45a95SPeter Avalostestcase 'set -- a b; set -- p$@q'		'2|pa|bq'
2688a45a95SPeter Avalostestcase 'set -- a b; set -- $@q'		'2|a|bq'
2788a45a95SPeter Avalostestcase 'set -- a b; set -- p$@'		'2|pa|b'
2888a45a95SPeter Avalostestcase 'set -- a b; set -- p$*q'		'2|pa|bq'
2988a45a95SPeter Avalostestcase 'set -- a b; set -- $*q'		'2|a|bq'
3088a45a95SPeter Avalostestcase 'set -- a b; set -- p$*'		'2|pa|b'
3188a45a95SPeter Avalostestcase 'set -- a b; set -- p$*q'		'2|pa|bq'
3288a45a95SPeter Avalostestcase 'set -- a b; set -- $*q'		'2|a|bq'
3388a45a95SPeter Avalostestcase 'set -- a b; set -- p$*'		'2|pa|b'
3488a45a95SPeter Avalostestcase 'set -- a b; set -- "p$@q"'		'2|pa|bq'
3588a45a95SPeter Avalostestcase 'set -- a b; set -- "$@q"'		'2|a|bq'
3688a45a95SPeter Avalostestcase 'set -- a b; set -- "p$@"'		'2|pa|b'
3788a45a95SPeter Avalostestcase 'set -- a b; set -- p"$@"q'		'2|pa|bq'
3888a45a95SPeter Avalostestcase 'set -- a b; set -- "$@"q'		'2|a|bq'
3988a45a95SPeter Avalostestcase 'set -- a b; set -- p"$@"'		'2|pa|b'
4088a45a95SPeter Avalostestcase 'set -- "" a b; set -- "p$@q"'		'3|p|a|bq'
4188a45a95SPeter Avalostestcase 'set -- "" a b; set -- "$@q"'		'3||a|bq'
4288a45a95SPeter Avalostestcase 'set -- "" a b; set -- "p$@"'		'3|p|a|b'
4388a45a95SPeter Avalostestcase 'set -- "" a b; set -- p"$@"q'		'3|p|a|bq'
4488a45a95SPeter Avalostestcase 'set -- "" a b; set -- "$@"q'		'3||a|bq'
4588a45a95SPeter Avalostestcase 'set -- "" a b; set -- p"$@"'		'3|p|a|b'
4688a45a95SPeter Avalostestcase 'set -- a; set -- p$@q'		'1|paq'
4788a45a95SPeter Avalostestcase 'set -- a; set -- $@q'			'1|aq'
4888a45a95SPeter Avalostestcase 'set -- a; set -- p$@'			'1|pa'
4988a45a95SPeter Avalostestcase 'set -- a; set -- p$@q'		'1|paq'
5088a45a95SPeter Avalostestcase 'set -- a; set -- $@q'			'1|aq'
5188a45a95SPeter Avalostestcase 'set -- a; set -- p$@'			'1|pa'
5288a45a95SPeter Avalostestcase 'set -- a; set -- p$*q'		'1|paq'
5388a45a95SPeter Avalostestcase 'set -- a; set -- $*q'			'1|aq'
5488a45a95SPeter Avalostestcase 'set -- a; set -- p$*'			'1|pa'
5588a45a95SPeter Avalostestcase 'set -- a; set -- p$*q'		'1|paq'
5688a45a95SPeter Avalostestcase 'set -- a; set -- $*q'			'1|aq'
5788a45a95SPeter Avalostestcase 'set -- a; set -- p$*'			'1|pa'
5888a45a95SPeter Avalostestcase 'set -- a; set -- "p$@q"'		'1|paq'
5988a45a95SPeter Avalostestcase 'set -- a; set -- "$@q"'		'1|aq'
6088a45a95SPeter Avalostestcase 'set -- a; set -- "p$@"'		'1|pa'
6188a45a95SPeter Avalostestcase 'set -- a; set -- p"$@"q'		'1|paq'
6288a45a95SPeter Avalostestcase 'set -- a; set -- "$@"q'		'1|aq'
6388a45a95SPeter Avalostestcase 'set -- a; set -- p"$@"'		'1|pa'
6488a45a95SPeter Avalos
6588a45a95SPeter Avalostest "x$failures" = x
66