170 passed, 7 OK, 30 not implemented, 20 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
zsh | 7 read -n (with $REPLY) stdout: []stderr: |
zsh | 8 IFS= read -n (OSH regression: value saved in tempenv) stdout: ['']stderr: |
mksh | 9 read -n doesn't strip whitespace (bug fix) stdout: [a] [a b] [a b] one var strips whitespace [a] [a b] [a b] three vars [a] [] [] [a] [b] [] [a] [b] []stderr: |
zsh | 9 read -n doesn't strip whitespace (bug fix) stdout: stderr: |
mksh | 10 read -d -n - respects delimiter and splits stdout: delim c [a] [a] [a b] one var [a] [a] [a b] three vars [a] [] [] [a] [] [] [a] [b] []stderr: |
zsh | 10 read -d -n - respects delimiter and splits stdout: stderr: |
ash | 10 read -d -n - respects delimiter and splits stdout: stderr: |
bash | 11 read -n with invalid arg stdout: status=1stderr: bash: line 1: read: not_a_number: invalid number |
zsh | 11 read -n with invalid arg stdout: stderr: |
zsh | 12 read -n from pipe stdout: stderr: |
ash | 12 read -n from pipe stdout: stderr: |
mksh | 13 read without args uses $REPLY, no splitting occurs (without -n) stdout: [a b] [a b] [a b line2] [a b line2] [a b \] [a b \]stderr: |
zsh | 13 read without args uses $REPLY, no splitting occurs (without -n) stdout: [a b] [a b] [a b line2] [a b line2] [a b \] [a b \]stderr: |
mksh | 14 read -n vs. -N stdout: read -n 'a' 'b' 'c' 'a' 'b' '' read -N 'a' 'b' 'c' 'a' 'b' ''stderr: |
zsh | 14 read -n vs. -N stdout: stderr: |
ash | 14 read -n vs. -N stdout: stderr: |
zsh | 15 read -N ignores delimiters stdout: stderr: |
ash | 15 read -N ignores delimiters stdout: stderr: |
zsh | 16 read will unset extranous vars stdout: 'a' 'b' '' 'b' '' ''stderr: |
mksh | 18 read -r with other backslash escapes stdout: ['one twoethree', 'one\\ twoethree']stderr: |
zsh | 18 read -r with other backslash escapes stdout: ['one twoethree', 'one\\ twoethree']stderr: |
mksh | 21 read -r with \n stdout: ['', '']stderr: |
zsh | 21 read -r with \n stdout: ['', '']stderr: |
zsh | 22 read -s from pipe, not a terminal stdout: stderr: |
mksh | 26 read does not respect C backslash escapes stdout: d g h e 145 istderr: |
zsh | 26 read does not respect C backslash escapes stdout: stderr: |
ash | 26 read does not respect C backslash escapes stdout: abcdefghx65 145 istderr: |
mksh | 28 read -a reads into array stdout: stderr: |
zsh | 28 read -a reads into array stdout: stderr: |
ash | 28 read -a reads into array stdout: stderr: ash: read: line 7: illegal option -a ash: syntax error: bad substitution |
osh | 28 read -a reads into array [osh stdout] Expected "['a', 'b', 'c d']\n['a', 'b', 'c\\\\', 'd']\n[]\n[]\n" Got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub part_val = _ValueToPartValue(val, quoted or quoted2, part) File "/home/uke/oil/osh/word_eval.py", line 235, in _ValueToPartValue return part_value.Array(bash_impl.BashArray_GetValues(val), quoted) NameError: global name 'bash_impl' is not defined |
mksh | 33 read -t 0 tests if input is available stdout: stderr: |
zsh | 33 read -t 0 tests if input is available stdout: stderr: |
mksh | 34 read -t 0.5 stdout: 1stderr: |
zsh | 34 read -t 0.5 stdout: 1stderr: |
osh | 34 read -t 0.5 [osh stdout] Expected '1\n', got '' [osh status] Expected 0, got 1 stdout: stderr: read -t 0.5 < /dev/null ^~~~ [ stdin ]:3: fatal: read -t isn't implemented (except t=0) |
bash | 35 read -t -0.5 is invalid stdout: 1stderr: |
zsh | 35 read -t -0.5 is invalid stdout: stderr: zsh: not an identifier: -0.5 |
mksh | 36 read -u stdout: stderr: |
osh | 36 read -u [osh stdout] Expected 'reply=hi\n', got 'reply=\n' stdout: reply=stderr: read -u 3 3<<EOF ^~~~ [ stdin ]:3: 'read' -u flag not implemented |
bash | 37 read -u syntax error stdout: status=1stderr: bash: line 1: read: -3: invalid file descriptor specification |
zsh | 37 read -u syntax error stdout: status=1stderr: |
mksh | 38 read -N doesn't respect delimiter, while read -n does stdout: fooba foobastderr: |
zsh | 38 read -N doesn't respect delimiter, while read -n does stdout: stderr: |
ash | 38 read -N doesn't respect delimiter, while read -n does stdout: stderr: |
mksh | 39 read -p (not fully tested) stdout: stderr: |
zsh | 39 read -p (not fully tested) stdout: stderr: |
bash | 40 read usage stdout: status=1stderr: bash: line 1: read: -1: invalid number |
mksh | 40 read usage stdout: stderr: |
zsh | 40 read usage stdout: stderr: zsh: not an identifier: -1 |
zsh | 41 read with smooshed args stdout: var=stderr: zsh: bad option: -1 |
mksh | 42 read -r -d '' for NUL strings, e.g. find -print0 stdout: stderr: |
zsh | 42 read -r -d '' for NUL strings, e.g. find -print0 stdout: stderr: |
mksh | 43 read from redirected directory is non-fatal error stdout: stderr: |
mksh | 44 read -n from directory stdout: stderr: |
ash | 44 read -n from directory stdout: stderr: |
bash | 45 mapfile from directory (bash doesn't handle errors) stdout: status=0stderr: |
mksh | 45 mapfile from directory (bash doesn't handle errors) stdout: stderr: |
zsh | 45 mapfile from directory (bash doesn't handle errors) stdout: stderr: |
ash | 45 mapfile from directory (bash doesn't handle errors) stdout: stderr: |