spec test index / oilshell.org
109 passed, 10 OK, 1 not implemented, 14 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| osh | 1 empty for loop (has "in") [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 198, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 170, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 140, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1125, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 364, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 1955, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1777, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1674, in _Dispatch
    status = self._DoForEach(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1212, in _DoForEach
    assert iter_list, iter_list
AssertionError: []
 | 
| bash-4 | 2 for loop with invalid identifier stdout: stderr: bash-4.4: line 3: `-': not a valid identifier  | 
| mksh | 2 for loop with invalid identifier stdout: stderr: mksh: <stdin>[1]: for: bad identifier  | 
| zsh | 2 for loop with invalid identifier stdout: histderr: zsh: parse error near `-' zsh: parse error near `done'  | 
| dash | 5 Brace Expansion within Array stdout: -{a,b}
{c,d}-
stderr:  | 
| osh | 9 dynamic control flow (KNOWN INCOMPATIBILITY) stdout: 1 2 3stderr:     $b
    ^~
[ stdin ]:4: 'break' not found (OILS-ERR-100)
    $b
    ^~
[ stdin ]:4: 'break' not found (OILS-ERR-100)
    $b
    ^~
[ stdin ]:4: 'break' not found (OILS-ERR-100)
 | 
| zsh | 14 continue at top level stdout: onestderr: continue: not in while, until, select, or repeat loop  | 
| dash | 15 continue in subshell stdout: > 1 subshell status=0 . 1 > 2 subshell status=0 . 2stderr:  | 
| bash-4 | 15 continue in subshell stdout: > 1 subshell status=0 . 1 > 2 subshell status=0 . 2stderr:  | 
| mksh | 15 continue in subshell stdout: > 1 Should not print subshell status=0 . 1 > 2 Should not print subshell status=0 . 2stderr: mksh: <stdin>[6]: continue: can't continue mksh: <stdin>[6]: continue: can't continue  | 
| zsh | 15 continue in subshell stdout: > 1 subshell status=0 . 1 > 2 subshell status=0 . 2stderr:  | 
| dash | 16 continue in subshell aborts with errexit stdout: > 1 should fail after subshell . 1 > 2 should fail after subshell . 2stderr:  | 
| bash-4 | 16 continue in subshell aborts with errexit stdout: > 1 should fail after subshell . 1 > 2 should fail after subshell . 2stderr:  | 
| mksh | 16 continue in subshell aborts with errexit stdout: > 1 Should not print should fail after subshell . 1 > 2 Should not print should fail after subshell . 2stderr: mksh: <stdin>[7]: continue: can't continue mksh: <stdin>[7]: continue: can't continue  | 
| zsh | 16 continue in subshell aborts with errexit stdout: > 1 should fail after subshell . 1 > 2 should fail after subshell . 2stderr:  | 
| dash | 17 bad arg to break stdout: histderr: dash: 4: break: Illegal number: oops  | 
| bash-4 | 17 bad arg to break stdout: histderr: bash-4.4: line 4: break: oops: numeric argument required  | 
| dash | 18 too many args to continue stdout: a b c --stderr:  | 
| bash-4 | 18 too many args to continue stdout: a --stderr: bash-4.4: line 3: continue: too many arguments  | 
| mksh | 18 too many args to continue stdout: a b c --stderr:  | 
| zsh | 18 too many args to continue stdout: a b c --stderr: continue: too many arguments continue: too many arguments continue: too many arguments  | 
| mksh | 22 break/continue within eval stdout: 1 2 3 4 5stderr: mksh: continue: can't continue mksh: break: can't break  | 
| mksh | 23 break/continue within source stdout: 1 2 3 4 5 donestderr: mksh: spec/testdata/continue.sh[1]: continue: can't continue mksh: spec/testdata/break.sh[1]: break: can't break  | 
| zsh | 23 break/continue within source stdout: 1 2 3 4 5 donestderr: spec/testdata/continue.sh:continue:1: not in while, until, select, or repeat loop spec/testdata/break.sh:break:1: not in while, until, select, or repeat loop  | 
| bash-4 | 24 top-level break/continue/return (without strict_control_flow) stdout: break=0 continue=0 return=1stderr: bash-4.4: line 0: break: only meaningful in a `for', `while', or `until' loop bash-4.4: line 0: continue: only meaningful in a `for', `while', or `until' loop bash-4.4: line 0: return: can only `return' from a function or sourced script  | 
| zsh | 24 top-level break/continue/return (without strict_control_flow) stdout: stderr: zsh:break:1: not in while, until, select, or repeat loop zsh:continue:1: not in while, until, select, or repeat loop  |