sh: Test that all bytes from 1 to 127 can be used in IFS.
This also passes on stable/8.
This commit is contained in:
parent
2db99256b1
commit
a129ce0167
24
tools/regression/bin/sh/expansion/ifs2.0
Normal file
24
tools/regression/bin/sh/expansion/ifs2.0
Normal file
@ -0,0 +1,24 @@
|
||||
# $FreeBSD$
|
||||
|
||||
failures=0
|
||||
i=1
|
||||
set -f
|
||||
while [ "$i" -le 127 ]; do
|
||||
# A different byte still in the range 1..127.
|
||||
i2=$((i^2+(i==2)))
|
||||
# Add a character to work around command substitution's removal of
|
||||
# final newlines, then remove it again.
|
||||
c=$(printf \\"$(printf %o@ "$i")")
|
||||
c=${c%@}
|
||||
c2=$(printf \\"$(printf %o@ "$i2")")
|
||||
c2=${c2%@}
|
||||
IFS=$c
|
||||
set -- $c2$c$c2$c$c2
|
||||
if [ "$#" -ne 3 ] || [ "$1" != "$c2" ] || [ "$2" != "$c2" ] ||
|
||||
[ "$3" != "$c2" ]; then
|
||||
echo "Bad results for separator $i (word $i2)" >&2
|
||||
: $((failures += 1))
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
exit $((failures > 0))
|
Loading…
Reference in New Issue
Block a user