diff options
Diffstat (limited to 'regress/bin/ksh/read.t')
-rw-r--r-- | regress/bin/ksh/read.t | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/regress/bin/ksh/read.t b/regress/bin/ksh/read.t new file mode 100644 index 00000000000..021d1e58870 --- /dev/null +++ b/regress/bin/ksh/read.t @@ -0,0 +1,58 @@ +# $OpenBSD: read.t,v 1.1 2013/12/02 20:39:44 millert Exp $ + +# +# To test: +# POSIX: +# - if no -r, \ is escape character +# - \newline disappear +# - \<IFS> -> don't break here +# - \<anything-else> -> <anything-else> +# - if -r, backslash is not special +# - if stdin is tty and shell interactive +# - prompt for continuation if \newline (prompt to stderr) +# - a here-document isn't terminated after newline ???? +# - remaining vars set to empty string (not null) +# - check field splitting +# - left over fields and their separators assigned to last var +# - exit status is normally 0 +# - exit status is > 0 on eof +# - exit status > 0 on error +# - signals interrupt reads +# extra: +# - can't change read-only variables +# - error if var name bogus +# - set -o allexport effects read +# ksh: +# x check default variable: REPLY +# - check -p, -s, -u options +# - check var?prompt stuff +# - "echo a b | read x y" sets x,y in parent shell (at&t) +# +name: read-IFS-1 +description: + Simple test, default IFS +stdin: + echo "A B " > IN + unset x y z + read x y z < IN + echo 1: "x[$x] y[$y] z[$z]" + echo 1a: ${z-z not set} + read x < IN + echo 2: "x[$x]" +expected-stdout: + 1: x[A] y[B] z[] + 1a: + 2: x[A B] +--- + +name: read-ksh-1 +description: + If no var specified, REPLY is used +stdin: + echo "abc" > IN + read < IN + echo "[$REPLY]"; +expected-stdout: + [abc] +--- + |