| status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
| pass | 9 | 7 | 7 | 7 | 9 | 9 | 6 | 8 | 4 | 11 | |
| ok | 2 | 4 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | |
| FAIL | 0 | 0 | 4 | 4 | 0 | 2 | 5 | 3 | 7 | 0 | |
| total | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | |
| case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
| 0 | pass | ok | FAIL | FAIL | pass | pass | pass | pass | FAIL | pass | Truncating 'exit' status |
| details | details | details | details | ||||||||
| 1 | pass | ok | FAIL | FAIL | pass | pass | pass | FAIL | FAIL | pass | Truncating 'return' status |
| details | details | details | details | details | |||||||
| 2 | ok | ok | FAIL | FAIL | ok | FAIL | FAIL | FAIL | FAIL | pass | subshell OverflowError https://github.com/oilshell/oil/issues/996 |
| details | details | details | details | details | details | details | details | details | |||
| 3 | ok | ok | FAIL | FAIL | ok | FAIL | FAIL | FAIL | FAIL | pass | func subshell OverflowError https://github.com/oilshell/oil/issues/996 |
| details | details | details | details | details | details | details | details | details | |||
| 4 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | If empty command |
| 5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | If subshell true |
| 6 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | If subshell true WITH OUTPUT is different |
| 7 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | If subshell true WITH ARGUMENT |
| 8 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | If subshell false -- exit code is propagated in a weird way (strict_argv prevents) |
| details | details | ||||||||||
| 9 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Exit code when command sub evaluates to empty str, e.g. `false` (#2416) |
| details | details | ||||||||||
| 10 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | More test cases with empty argv |
| details | details |
77 passed, 8 OK, 0 not implemented, 0 BUG, 25 failed, 0 timeouts, 0 cases skipped
| 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 |
| ash | 0 Truncating 'exit' status [ash stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=0\nstatus=1\n===\nstatus=2\nstatus=2\n' stdout: status=255 status=0 status=1 === status=2 status=2stderr: ash: exit: line 0: Illegal number: -1 ash: exit: line 0: Illegal number: -2 |
| zsh | 0 Truncating 'exit' status [zsh stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=0\nstatus=1\n' [zsh status] Expected 0 Got 1 stdout: status=255 status=0 status=1stderr: zsh: == not found |
| brush | 0 Truncating 'exit' status [brush stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=0\nstatus=1\n===\nstatus=2\nstatus=2\n' stdout: status=255 status=0 status=1 === status=2 status=2stderr: error: unexpected argument '-1' found tip: to pass '-1' as a value, use '-- -1' Usage: exit [CODE] For more information, try '--help'. error: unexpected argument '-2' found tip: to pass '-2' as a value, use '-- -2' Usage: exit [CODE] For more information, try '--help'. |
| dash | 1 Truncating 'return' status stdout: status=255 status=256 status=257 ===stderr: dash: 12: return: Illegal number: -1 |
| ash | 1 Truncating 'return' status [ash stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=0\nstatus=1\n===\n' [ash status] Expected 0 Got 2 stdout: status=255 status=0 status=1 ===stderr: ash: return: line 12: Illegal number: -1 |
| zsh | 1 Truncating 'return' status [zsh stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=256\nstatus=257\n' [zsh status] Expected 0 Got 1 stdout: status=255 status=256 status=257stderr: zsh: == not found |
| sush | 1 Truncating 'return' status [sush stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=0\nstatus=1\n===\nstatus=-1\nstatus=-2\n' stdout: status=255 status=0 status=1 === status=-1 status=-2stderr: |
| brush | 1 Truncating 'return' status [brush stdout] Expected 'status=255\nstatus=0\nstatus=1\n===\nstatus=255\nstatus=254\n' Got 'status=255\nstatus=0\nstatus=1\n===\nstatus=2\nstatus=2\n' stdout: status=255 status=0 status=1 === status=2 status=2stderr: error: unexpected argument '-1' found tip: to pass '-1' as a value, use '-- -1' Usage: return [CODE] For more information, try '--help'. error: unexpected argument '-2' found tip: to pass '-2' as a value, use '-- -2' Usage: return [CODE] For more information, try '--help'. |
| 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: |
| ash | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 [ash stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n\n--- negative ---\nstatus=0\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=0\nstatus=1\n\n--- negative ---\nstatus=2\nIllegal number\nstatus=2\nIllegal number\n' stdout: status=255 status=0 status=1 --- negative --- status=2 Illegal number status=2 Illegal numberstderr: |
| zsh | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 [zsh stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n\n--- negative ---\nstatus=0\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=0\nstatus=1\n\n--- negative ---\nstatus=0\nstatus=255\n' stdout: status=255 status=0 status=1 --- negative --- status=0 status=255stderr: |
| 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: |
| ksh | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 [ksh stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n\n--- negative ---\nstatus=0\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=1\nbad number\nstatus=1\nbad number\n\n--- negative ---\nstatus=0\nstatus=1\nbad number\n' stdout: status=255 status=1 bad number status=1 bad number --- negative --- status=0 status=1 bad numberstderr: |
| toysh | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 [toysh stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n\n--- negative ---\nstatus=0\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=0\nstatus=1\n\n--- negative ---\nstatus=0\nstatus=255\n' stdout: status=255 status=0 status=1 --- negative --- status=0 status=255stderr: |
| sush | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 [sush stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n\n--- negative ---\nstatus=0\nstatus=1\nexpected a small integer\n' Got 'status=2\nreturn: can only\nstatus=2\nreturn: can only\nstatus=2\nreturn: can only\n\n--- negative ---\nstatus=2\nreturn: can only\nstatus=2\nreturn: can only\n' 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: |
| brush | 2 subshell OverflowError https://github.com/oilshell/oil/issues/996 [brush stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n\n--- negative ---\nstatus=0\nstatus=1\nexpected a small integer\n' Got 'status=2\nreturn: can only\nstatus=2\nstatus=2\n\n--- negative ---\nstatus=2\nstatus=2\n' stdout: status=2 return: can only status=2 status=2 --- negative --- status=2 status=2stderr: |
| 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: |
| ash | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 [ash stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=0\nstatus=1\n' stdout: status=255 status=0 status=1stderr: |
| zsh | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 [zsh stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=0\nstatus=1\n' stdout: status=255 status=0 status=1stderr: |
| mksh | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 stdout: status=255 status=1 bad number status=1 bad numberstderr: |
| ksh | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 [ksh stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=1\nbad number\nstatus=1\nbad number\n' stdout: status=255 status=1 bad number status=1 bad numberstderr: |
| toysh | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 [toysh stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=0\nstatus=1\n' stdout: status=255 status=0 status=1stderr: |
| sush | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 [sush stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n' Got 'status=0\nstatus=0\nstatus=0\n' stdout: status=0 status=0 status=0stderr: |
| brush | 3 func subshell OverflowError https://github.com/oilshell/oil/issues/996 [brush stdout] Expected 'status=255\nstatus=1\nexpected a small integer\nstatus=1\nexpected a small integer\n' Got 'status=255\nstatus=2\nstatus=2\n' stdout: status=255 status=2 status=2stderr: |
| toysh | 8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents) [toysh stdout] Expected 'FALSE\n' Got 'TRUE\n' stdout: TRUEstderr: |
| brush | 8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents) [brush stdout] Expected 'FALSE\n' Got 'TRUE\n' stdout: TRUEstderr: |
| toysh | 9 Exit code when command sub evaluates to empty str, e.g. `false` (#2416) [toysh stdout] Expected '0\n1\n0\n1\n---\n0\n1\n0\n1\n' Got '0\n0\n0\n0\n---\n0\n1\n0\n1\n' stdout: 0 0 0 0 --- 0 1 0 1stderr: |
| brush | 9 Exit code when command sub evaluates to empty str, e.g. `false` (#2416) [brush stdout] Expected '0\n1\n0\n1\n---\n0\n1\n0\n1\n' Got '0\n0\n0\n0\n---\n0\n1\n0\n1\n' stdout: 0 0 0 0 --- 0 1 0 1stderr: |
| toysh | 10 More test cases with empty argv [toysh stdout] Expected 'status=0\nstatus=42\nstatus=43\n' Got 'status=0\nstatus=0\nstatus=0\n' stdout: status=0 status=0 status=0stderr: |
| brush | 10 More test cases with empty argv [brush stdout] Expected 'status=0\nstatus=42\nstatus=43\n' Got 'status=0\nstatus=0\nstatus=0\n' stdout: status=0 status=0 status=0stderr: |