Results for exit-status.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 7555776648
ok 2400200000
FAIL 0044023351
total9999999999
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass ok FAIL FAIL pass pass pass pass FAIL pass Truncating 'exit' status
detailsdetailsdetailsdetails
1pass ok FAIL FAIL pass pass pass FAIL FAIL pass Truncating 'return' status
detailsdetailsdetailsdetailsdetails
2ok ok FAIL FAIL ok FAIL FAIL FAIL FAIL pass subshell OverflowError https://github.com/oilshell/oil/issues/996
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
3ok ok FAIL FAIL ok FAIL FAIL FAIL FAIL pass func subshell OverflowError https://github.com/oilshell/oil/issues/996
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
4pass pass pass pass pass pass pass pass pass pass If empty command
5pass pass pass pass pass pass pass pass pass pass If subshell true
6pass pass pass pass pass pass pass pass pass pass If subshell true WITH OUTPUT is different
7pass pass pass pass pass pass pass pass pass pass If subshell true WITH ARGUMENT
8pass pass pass pass pass pass FAIL pass FAIL FAIL If subshell false -- exit code is propagated in a weird way (strict_argv prevents)
detailsdetailsdetails
60 passed, 8 OK, 0 not implemented, 0 BUG, 22 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

dash0 Truncating 'exit' status

stdout:
status=255
status=0
status=1
===
status=2
status=2
stderr:
dash: 1: exit: Illegal number: -1
dash: 1: exit: Illegal number: -2
ash0 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=2
stderr:
ash: exit: line 0: Illegal number: -1
ash: exit: line 0: Illegal number: -2
zsh0 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=1
stderr:
zsh: == not found
brush0 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=2
stderr:
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'.

dash1 Truncating 'return' status

stdout:
status=255
status=256
status=257
===
stderr:
dash: 12: return: Illegal number: -1
ash1 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
zsh1 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=257
stderr:
zsh: == not found
sush1 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=-2
stderr:
brush1 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=2
stderr:
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'.

bash2 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 only
stderr:
dash2 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 number
stderr:
ash2 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 number
stderr:
zsh2 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=255
stderr:
mksh2 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 number
stderr:
ksh2 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 number
stderr:
toysh2 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=255
stderr:
sush2 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 only
stderr:
brush2 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=2
stderr:
bash3 func subshell OverflowError https://github.com/oilshell/oil/issues/996

stdout:
status=255
status=0
status=1
stderr:
dash3 func subshell OverflowError https://github.com/oilshell/oil/issues/996

stdout:
status=255
status=2
Illegal number
status=2
Illegal number
stderr:
ash3 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=1
stderr:
zsh3 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=1
stderr:
mksh3 func subshell OverflowError https://github.com/oilshell/oil/issues/996

stdout:
status=255
status=1
bad number
status=1
bad number
stderr:
ksh3 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 number
stderr:
toysh3 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=1
stderr:
sush3 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=0
stderr:
brush3 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=2
stderr:
toysh8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents)

[toysh stdout] Expected 'FALSE\n', got 'TRUE\n'

stdout:
TRUE
stderr:
brush8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents)

[brush stdout] Expected 'FALSE\n', got 'TRUE\n'

stdout:
TRUE
stderr:
osh8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents)

[osh stdout] Expected 'FALSE\n', got 'TRUE\n'

stdout:
TRUE
stderr: