1228873Sjilles# $FreeBSD$ 2228873Sjilles 3228873Sjillesfailures='' 4228873Sjillesok='' 5228873Sjilles 6228873Sjillestestcase() { 7228873Sjilles code="$1" 8228873Sjilles expected="$2" 9228873Sjilles oIFS="$IFS" 10228873Sjilles eval "$code" 11228873Sjilles IFS='|' 12228873Sjilles result="$#|$*" 13228873Sjilles IFS="$oIFS" 14228873Sjilles if [ "x$result" = "x$expected" ]; then 15228873Sjilles ok=x$ok 16228873Sjilles else 17228873Sjilles failures=x$failures 18228873Sjilles echo "For $code, expected $expected actual $result" 19228873Sjilles fi 20228873Sjilles} 21228873Sjilles 22228873Sjillestestcase 'set -- a b; set -- p$@q' '2|pa|bq' 23228873Sjillestestcase 'set -- a b; set -- $@q' '2|a|bq' 24228873Sjillestestcase 'set -- a b; set -- p$@' '2|pa|b' 25228873Sjillestestcase 'set -- a b; set -- p$@q' '2|pa|bq' 26228873Sjillestestcase 'set -- a b; set -- $@q' '2|a|bq' 27228873Sjillestestcase 'set -- a b; set -- p$@' '2|pa|b' 28228873Sjillestestcase 'set -- a b; set -- p$*q' '2|pa|bq' 29228873Sjillestestcase 'set -- a b; set -- $*q' '2|a|bq' 30228873Sjillestestcase 'set -- a b; set -- p$*' '2|pa|b' 31228873Sjillestestcase 'set -- a b; set -- p$*q' '2|pa|bq' 32228873Sjillestestcase 'set -- a b; set -- $*q' '2|a|bq' 33228873Sjillestestcase 'set -- a b; set -- p$*' '2|pa|b' 34228873Sjillestestcase 'set -- a b; set -- "p$@q"' '2|pa|bq' 35228873Sjillestestcase 'set -- a b; set -- "$@q"' '2|a|bq' 36228873Sjillestestcase 'set -- a b; set -- "p$@"' '2|pa|b' 37228873Sjillestestcase 'set -- a b; set -- p"$@"q' '2|pa|bq' 38228873Sjillestestcase 'set -- a b; set -- "$@"q' '2|a|bq' 39228873Sjillestestcase 'set -- a b; set -- p"$@"' '2|pa|b' 40228873Sjillestestcase 'set -- "" a b; set -- "p$@q"' '3|p|a|bq' 41228873Sjillestestcase 'set -- "" a b; set -- "$@q"' '3||a|bq' 42228873Sjillestestcase 'set -- "" a b; set -- "p$@"' '3|p|a|b' 43228873Sjillestestcase 'set -- "" a b; set -- p"$@"q' '3|p|a|bq' 44228873Sjillestestcase 'set -- "" a b; set -- "$@"q' '3||a|bq' 45228873Sjillestestcase 'set -- "" a b; set -- p"$@"' '3|p|a|b' 46228873Sjillestestcase 'set -- a; set -- p$@q' '1|paq' 47228873Sjillestestcase 'set -- a; set -- $@q' '1|aq' 48228873Sjillestestcase 'set -- a; set -- p$@' '1|pa' 49228873Sjillestestcase 'set -- a; set -- p$@q' '1|paq' 50228873Sjillestestcase 'set -- a; set -- $@q' '1|aq' 51228873Sjillestestcase 'set -- a; set -- p$@' '1|pa' 52228873Sjillestestcase 'set -- a; set -- p$*q' '1|paq' 53228873Sjillestestcase 'set -- a; set -- $*q' '1|aq' 54228873Sjillestestcase 'set -- a; set -- p$*' '1|pa' 55228873Sjillestestcase 'set -- a; set -- p$*q' '1|paq' 56228873Sjillestestcase 'set -- a; set -- $*q' '1|aq' 57228873Sjillestestcase 'set -- a; set -- p$*' '1|pa' 58228873Sjillestestcase 'set -- a; set -- "p$@q"' '1|paq' 59228873Sjillestestcase 'set -- a; set -- "$@q"' '1|aq' 60228873Sjillestestcase 'set -- a; set -- "p$@"' '1|pa' 61228873Sjillestestcase 'set -- a; set -- p"$@"q' '1|paq' 62228873Sjillestestcase 'set -- a; set -- "$@"q' '1|aq' 63228873Sjillestestcase 'set -- a; set -- p"$@"' '1|pa' 64228873Sjilles 65228873Sjillestest "x$failures" = x 66