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