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