| case | dash | bash | mksh | osh | description |
| 0 | pass | pass | pass | pass | implicit for loop |
| 1 | pass | pass | BUG | pass | empty for loop (has "in") |
| details | |||||
| 2 | pass | ok | ok | FAIL | for loop with invalid identifier |
| details | details | details | |||
| 3 | pass | pass | pass | pass | Tilde expansion within for loop |
| 4 | N-I | pass | pass | pass | Brace Expansion within Array |
| details | |||||
| 5 | pass | pass | pass | pass | using loop var outside loop |
| 6 | pass | pass | pass | pass | continue |
| 7 | pass | pass | pass | pass | break |
| 8 | N-I | N-I | N-I | pass | continue at top level is error |
| details | details | details | |||
| 9 | N-I | N-I | N-I | pass | break at top level is error |
| details | details | details | |||
| 10 | pass | pass | pass | pass | while in while condition |
| 11 | pass | pass | pass | pass | while in pipe |
| 12 | pass | pass | pass | pass | while in pipe with subshell |
| 13 | pass | pass | pass | FAIL | until loop |
| details |
44 passed, 2 ok, 7 known unimplemented, 1 known bugs, 2 failed, 0 skipped
| mksh | 1 empty for loop (has "in") stdout: 1 2 3stderr: |
| bash | 2 for loop with invalid identifier stdout: stderr: /bin/bash: line 3: `-': not a valid identifier |
| mksh | 2 for loop with invalid identifier stdout: stderr: /bin/mksh: <stdin>[1]: for: bad identifier |
| osh | 2 for loop with invalid identifier [osh stdout] Expected b'', got b'hi\nhi\nhi\n' [osh status] Expected 2, got 0 stdout: hi hi histderr: |
| dash | 4 Brace Expansion within Array stdout: -{a,b}
{c,d}-
stderr: |
| dash | 8 continue at top level is error stdout: badstderr: |
| bash | 8 continue at top level is error stdout: badstderr: /bin/bash: line 1: continue: only meaningful in a `for', `while', or `until' loop |
| mksh | 8 continue at top level is error stdout: badstderr: /bin/mksh: <stdin>[1]: continue: can't continue |
| dash | 9 break at top level is error stdout: badstderr: |
| bash | 9 break at top level is error stdout: badstderr: /bin/bash: line 1: break: only meaningful in a `for', `while', or `until' loop |
| mksh | 9 break at top level is error stdout: badstderr: /bin/mksh: <stdin>[1]: break: can't break |
| osh | 13 until loop [osh stdout] Expected b'hi\n', got b'' stdout: stderr: Traceback (most recent call last):
File "bin/osh", line 378, in <module>
sys.exit(main(sys.argv))
File "bin/osh", line 368, in main
return OshMain(main_argv)
File "bin/osh", line 327, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 937, in Execute
status = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 915, in _Execute
raise AssertionError(node.tag)
AssertionError: 17
|