status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 7 | 5 | 5 | 5 | 7 | 7 | 6 | 6 | 4 | 8 | |
ok | 2 | 4 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 4 | 4 | 0 | 2 | 3 | 3 | 5 | 1 | |
total | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | |
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 | FAIL | If subshell false -- exit code is propagated in a weird way (strict_argv prevents) |
details | details | details |
60 passed, 8 OK, 0 not implemented, 0 BUG, 22 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 |
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: |
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: |