Results for exit-status.test.sh

statusdashbashmkshoshosh_ALT
pass 57788
ok 42200
FAIL 00011
total99999
casedashbashmkshoshosh_ALTdescription
0ok pass pass pass pass Truncating 'exit' status
details
1ok pass pass pass pass Truncating 'return' status
details
2ok ok ok pass pass subshell OverflowError https://github.com/oilshell/oil/issues/996
detailsdetailsdetails
3ok ok ok pass pass func subshell OverflowError https://github.com/oilshell/oil/issues/996
detailsdetailsdetails
4pass pass pass pass pass If empty command
5pass pass pass pass pass If subshell true
6pass pass pass pass pass If subshell true WITH OUTPUT is different
7pass pass pass pass pass If subshell true WITH ARGUMENT
8pass pass pass FAIL FAIL If subshell false -- exit code is propagated in a weird way (strict_argv prevents)
detailsdetails
35 passed, 8 OK, 0 not implemented, 0 BUG, 1 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
dash1 Truncating 'return' status

stdout:
status=255
status=256
status=257
===
stderr:
dash: 12: return: Illegal number: -1
dash2 subshell OverflowError https://github.com/oilshell/oil/issues/996

stdout:
status=255
status=2
Illegal number
status=2
Illegal number
stderr:
bash2 subshell OverflowError https://github.com/oilshell/oil/issues/996

stdout:
status=1
return: can only
status=1
return: can only
status=1
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
stderr:
dash3 func subshell OverflowError https://github.com/oilshell/oil/issues/996

stdout:
status=255
status=2
Illegal number
status=2
Illegal number
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:
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:
osh_ALT8 If subshell false -- exit code is propagated in a weird way (strict_argv prevents)

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

stdout:
TRUE
stderr: