Results for exit-status.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 7776648
ok 2200000
FAIL 0023351
total9999999
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass pass pass FAIL pass Truncating 'exit' status
details
1pass pass pass pass FAIL FAIL pass Truncating 'return' status
detailsdetails
2ok ok FAIL FAIL FAIL FAIL pass subshell OverflowError https://github.com/oilshell/oil/issues/996
detailsdetailsdetailsdetailsdetailsdetails
3ok ok FAIL FAIL FAIL FAIL pass func subshell OverflowError https://github.com/oilshell/oil/issues/996
detailsdetailsdetailsdetailsdetailsdetails
4pass pass pass pass pass pass pass If empty command
5pass pass pass pass pass pass pass If subshell true
6pass pass pass pass pass pass pass If subshell true WITH OUTPUT is different
7pass pass pass pass pass pass pass If subshell true WITH ARGUMENT
8pass pass pass FAIL pass FAIL FAIL If subshell false -- exit code is propagated in a weird way (strict_argv prevents)
detailsdetailsdetails
45 passed, 4 OK, 0 not implemented, 0 BUG, 14 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

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'.

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:
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:
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: