xref: /dflybsd-src/tools/regression/bin/sh/expansion/ifs2.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/expansion/ifs2.0 211341 2010-08-15 17:14:05Z jilles $
23df4d8b0SPeter Avalos
33df4d8b0SPeter Avalosfailures=0
43df4d8b0SPeter Avalosi=1
53df4d8b0SPeter Avalosset -f
63df4d8b0SPeter Avaloswhile [ "$i" -le 127 ]; do
73df4d8b0SPeter Avalos	# A different byte still in the range 1..127.
83df4d8b0SPeter Avalos	i2=$((i^2+(i==2)))
93df4d8b0SPeter Avalos	# Add a character to work around command substitution's removal of
103df4d8b0SPeter Avalos	# final newlines, then remove it again.
113df4d8b0SPeter Avalos	c=$(printf \\"$(printf %o@ "$i")")
123df4d8b0SPeter Avalos	c=${c%@}
133df4d8b0SPeter Avalos	c2=$(printf \\"$(printf %o@ "$i2")")
143df4d8b0SPeter Avalos	c2=${c2%@}
153df4d8b0SPeter Avalos	IFS=$c
163df4d8b0SPeter Avalos	set -- $c2$c$c2$c$c2
173df4d8b0SPeter Avalos	if [ "$#" -ne 3 ] || [ "$1" != "$c2" ] || [ "$2" != "$c2" ] ||
183df4d8b0SPeter Avalos	    [ "$3" != "$c2" ]; then
193df4d8b0SPeter Avalos		echo "Bad results for separator $i (word $i2)" >&2
203df4d8b0SPeter Avalos		: $((failures += 1))
213df4d8b0SPeter Avalos	fi
223df4d8b0SPeter Avalos	i=$((i+1))
233df4d8b0SPeter Avalosdone
243df4d8b0SPeter Avalosexit $((failures > 0))
25