sh: Add some testcases for pasting $*/$@ directly to a literal.
This also passes on stable/8.
This commit is contained in:
parent
27e093e7f4
commit
80cdf644e6
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=228873
65
tools/regression/bin/sh/parameters/positional2.0
Normal file
65
tools/regression/bin/sh/parameters/positional2.0
Normal file
@ -0,0 +1,65 @@
|
||||
# $FreeBSD$
|
||||
|
||||
failures=''
|
||||
ok=''
|
||||
|
||||
testcase() {
|
||||
code="$1"
|
||||
expected="$2"
|
||||
oIFS="$IFS"
|
||||
eval "$code"
|
||||
IFS='|'
|
||||
result="$#|$*"
|
||||
IFS="$oIFS"
|
||||
if [ "x$result" = "x$expected" ]; then
|
||||
ok=x$ok
|
||||
else
|
||||
failures=x$failures
|
||||
echo "For $code, expected $expected actual $result"
|
||||
fi
|
||||
}
|
||||
|
||||
testcase 'set -- a b; set -- p$@q' '2|pa|bq'
|
||||
testcase 'set -- a b; set -- $@q' '2|a|bq'
|
||||
testcase 'set -- a b; set -- p$@' '2|pa|b'
|
||||
testcase 'set -- a b; set -- p$@q' '2|pa|bq'
|
||||
testcase 'set -- a b; set -- $@q' '2|a|bq'
|
||||
testcase 'set -- a b; set -- p$@' '2|pa|b'
|
||||
testcase 'set -- a b; set -- p$*q' '2|pa|bq'
|
||||
testcase 'set -- a b; set -- $*q' '2|a|bq'
|
||||
testcase 'set -- a b; set -- p$*' '2|pa|b'
|
||||
testcase 'set -- a b; set -- p$*q' '2|pa|bq'
|
||||
testcase 'set -- a b; set -- $*q' '2|a|bq'
|
||||
testcase 'set -- a b; set -- p$*' '2|pa|b'
|
||||
testcase 'set -- a b; set -- "p$@q"' '2|pa|bq'
|
||||
testcase 'set -- a b; set -- "$@q"' '2|a|bq'
|
||||
testcase 'set -- a b; set -- "p$@"' '2|pa|b'
|
||||
testcase 'set -- a b; set -- p"$@"q' '2|pa|bq'
|
||||
testcase 'set -- a b; set -- "$@"q' '2|a|bq'
|
||||
testcase 'set -- a b; set -- p"$@"' '2|pa|b'
|
||||
testcase 'set -- "" a b; set -- "p$@q"' '3|p|a|bq'
|
||||
testcase 'set -- "" a b; set -- "$@q"' '3||a|bq'
|
||||
testcase 'set -- "" a b; set -- "p$@"' '3|p|a|b'
|
||||
testcase 'set -- "" a b; set -- p"$@"q' '3|p|a|bq'
|
||||
testcase 'set -- "" a b; set -- "$@"q' '3||a|bq'
|
||||
testcase 'set -- "" a b; set -- p"$@"' '3|p|a|b'
|
||||
testcase 'set -- a; set -- p$@q' '1|paq'
|
||||
testcase 'set -- a; set -- $@q' '1|aq'
|
||||
testcase 'set -- a; set -- p$@' '1|pa'
|
||||
testcase 'set -- a; set -- p$@q' '1|paq'
|
||||
testcase 'set -- a; set -- $@q' '1|aq'
|
||||
testcase 'set -- a; set -- p$@' '1|pa'
|
||||
testcase 'set -- a; set -- p$*q' '1|paq'
|
||||
testcase 'set -- a; set -- $*q' '1|aq'
|
||||
testcase 'set -- a; set -- p$*' '1|pa'
|
||||
testcase 'set -- a; set -- p$*q' '1|paq'
|
||||
testcase 'set -- a; set -- $*q' '1|aq'
|
||||
testcase 'set -- a; set -- p$*' '1|pa'
|
||||
testcase 'set -- a; set -- "p$@q"' '1|paq'
|
||||
testcase 'set -- a; set -- "$@q"' '1|aq'
|
||||
testcase 'set -- a; set -- "p$@"' '1|pa'
|
||||
testcase 'set -- a; set -- p"$@"q' '1|paq'
|
||||
testcase 'set -- a; set -- "$@"q' '1|aq'
|
||||
testcase 'set -- a; set -- p"$@"' '1|pa'
|
||||
|
||||
test "x$failures" = x
|
Loading…
Reference in New Issue
Block a user