Results for posix.test.sh

statusdashbashmkshosh
pass 15151314
ok 0020
FAIL 0001
total15151515
casedashbashmkshoshdescription
0pass pass pass pass Empty for loop is allowed
1pass pass pass pass Empty for loop without in. Do can be on the same line I guess.
2pass pass pass pass Empty case statement
3pass pass pass pass Last case without ;;
4pass pass pass pass Only case without ;;
5pass pass pass pass Case with optional (
6pass pass ok pass Empty action for case is syntax error
details
7pass pass pass pass Empty action is allowed for last case
8pass pass pass pass Case with | pattern
9pass pass ok pass Bare semi-colon not allowed
details
10pass pass pass FAIL Command substitution in default
details
11pass pass pass pass Arithmetic expansion
12pass pass pass pass Newlines in compound lists
13pass pass pass pass Multiple here docs on one line
14pass pass pass pass cat here doc; echo; cat here doc
57 passed, 2 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

mksh6 Empty action for case is syntax error

stdout:
stderr: 
mksh: <stdin>[4]: syntax error: ')' unexpected
mksh9 Bare semi-colon not allowed

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: ';' unexpected
osh10 Command substitution in default

[osh stdout] Expected '/bin\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 2541, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 1989, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1897, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1656, in _EvalBracedVarSub
    vsub_state):
  File "/home/uke/oil/osh/word_eval.py", line 749, in _ApplyTestOp
    self._EvalRhsWordToParts(op.arg_word, part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1963, in _EvalRhsWordToParts
    self._EvalWordToParts(w, part_vals, eval_flags=eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1989, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1881, in _EvalWordPart
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2629, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined