xref: /dflybsd-src/tools/regression/bin/sh/parameters/positional8.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/parameters/positional8.0 291025 2015-11-18 21:09:03Z jilles $
2*3e3895bfSKrzysztof Piecuch
3*3e3895bfSKrzysztof Piecuchfailures=''
4*3e3895bfSKrzysztof Piecuchok=''
5*3e3895bfSKrzysztof Piecuch
6*3e3895bfSKrzysztof Piecuchtestcase() {
7*3e3895bfSKrzysztof Piecuch	code="$1"
8*3e3895bfSKrzysztof Piecuch	expected="$2"
9*3e3895bfSKrzysztof Piecuch	oIFS="$IFS"
10*3e3895bfSKrzysztof Piecuch	eval "$code"
11*3e3895bfSKrzysztof Piecuch	IFS='|'
12*3e3895bfSKrzysztof Piecuch	result="$#|$*"
13*3e3895bfSKrzysztof Piecuch	IFS="$oIFS"
14*3e3895bfSKrzysztof Piecuch	if [ "x$result" = "x$expected" ]; then
15*3e3895bfSKrzysztof Piecuch		ok=x$ok
16*3e3895bfSKrzysztof Piecuch	else
17*3e3895bfSKrzysztof Piecuch		failures=x$failures
18*3e3895bfSKrzysztof Piecuch		echo "For $code, expected $expected actual $result"
19*3e3895bfSKrzysztof Piecuch	fi
20*3e3895bfSKrzysztof Piecuch}
21*3e3895bfSKrzysztof Piecuch
22*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- ""$*'		'1|'
23*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- $*""'		'1|'
24*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- ""$@'		'1|'
25*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- $@""'		'1|'
26*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- """$*"'		'1|'
27*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- "$*"""'		'1|'
28*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- """$@"'		'1|'
29*3e3895bfSKrzysztof Piecuchtestcase 'shift $#; set -- "$@"""'		'1|'
30*3e3895bfSKrzysztof Piecuch
31*3e3895bfSKrzysztof Piecuchtest "x$failures" = x
32