spec test index / oilshell.org
| status | bash | dash | mksh | osh | |
| pass | 7 | 5 | 7 | 8 | |
| ok | 2 | 4 | 2 | 0 | |
| FAIL | 0 | 0 | 0 | 1 | |
| total | 9 | 9 | 9 | 9 | |
| case | bash | dash | mksh | osh | description |
| 0 | pass | ok | pass | pass | Truncating 'exit' status |
| details | |||||
| 1 | pass | ok | pass | pass | Truncating 'return' status |
| details | |||||
| 2 | ok | ok | ok | pass | subshell OverflowError https://github.com/oilshell/oil/issues/996 |
| details | details | details | |||
| 3 | ok | ok | ok | pass | func subshell OverflowError https://github.com/oilshell/oil/issues/996 |
| details | details | details | |||
| 4 | pass | pass | pass | pass | If empty command |
| 5 | pass | pass | pass | pass | If subshell true |
| 6 | pass | pass | pass | pass | If subshell true WITH OUTPUT is different |
| 7 | pass | pass | pass | pass | If subshell true WITH ARGUMENT |
| 8 | pass | pass | pass | FAIL | If subshell false -- exit code is propagated in a weird way (strict_argv prevents) |
| details |
27 passed, 8 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| dash | 0 Truncating 'exit' status stdout: status=255 status=0 status=1 === status=2 status=2stderr: dash: 1: exit: Illegal number: -1 dash: 1: exit: Illegal number: -2 |
| dash | 1 Truncating 'return' status stdout: status=255 status=256 status=257 ===stderr: dash: 12: return: Illegal number: -1 |
| bash | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=2 return: can only status=2 return: can only status=2 return: can only --- negative --- status=2 return: can only status=2 return: can onlystderr: |
| dash | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=255 status=2 Illegal number status=2 Illegal number --- negative --- status=2 Illegal number status=2 Illegal numberstderr: |
| mksh | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=255 status=1 bad number status=1 bad number --- negative --- status=0 status=1 bad numberstderr: |
| bash | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=255 status=0 status=1stderr: |
| dash | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=255 status=2 Illegal number status=2 Illegal numberstderr: |
| mksh | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=255 status=1 bad number status=1 bad numberstderr: |
| osh | 8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents) [osh stdout] Expected 'FALSE\n', got 'TRUE\n' stdout: TRUEstderr: |