xref: /dflybsd-src/tools/regression/bin/sh/builtins/read5.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/builtins/read5.0 218821 2011-02-18 20:51:13Z jilles $
24bfff613SPeter Avalos
34bfff613SPeter Avalosunset LC_ALL
44bfff613SPeter AvalosLC_CTYPE=en_US.ISO8859-1
54bfff613SPeter Avalosexport LC_CTYPE
64bfff613SPeter Avalos
74bfff613SPeter Avalos# Note: the first and last characters are not whitespace.
84bfff613SPeter Avalos# Exclude backslash and newline.
94bfff613SPeter Avalosbad1=`printf %03o \'\\\\`
104bfff613SPeter Avalosbad2=`printf %03o \''
114bfff613SPeter Avalos'`
124bfff613SPeter Avalose=
134bfff613SPeter Avalosfor i in 0 1 2 3; do
144bfff613SPeter Avalos	for j in 0 1 2 3 4 5 6 7; do
154bfff613SPeter Avalos		for k in 0 1 2 3 4 5 6 7; do
164bfff613SPeter Avalos			case $i$j$k in
174bfff613SPeter Avalos			000|$bad1|$bad2) continue ;;
184bfff613SPeter Avalos			esac
194bfff613SPeter Avalos			e="$e\\$i$j$k"
204bfff613SPeter Avalos		done
214bfff613SPeter Avalos	done
224bfff613SPeter Avalosdone
234bfff613SPeter Avalose=`printf "$e"`
244bfff613SPeter Avalos[ "${#e}" = 253 ] || echo length bad
254bfff613SPeter Avalos
264bfff613SPeter Avalosr1=`printf '%s\n' "$e" | { read -r x; printf '%s' "$x"; }`
274bfff613SPeter Avalos[ "$r1" = "$e" ] || echo "read with -r bad"
284bfff613SPeter Avalosr2=`printf '%s\n' "$e" | { read x; printf '%s' "$x"; }`
294bfff613SPeter Avalos[ "$r2" = "$e" ] || echo "read without -r bad 1"
304bfff613SPeter AvalosIFS=
314bfff613SPeter Avalosr3=`printf '%s\n' "$e" | { read x; printf '%s' "$x"; }`
324bfff613SPeter Avalos[ "$r3" = "$e" ] || echo "read without -r bad 2"
33