| status | bash | osh | |
| pass | 8 | 4 | |
| ok | 0 | 1 | |
| N-I | 1 | 0 | |
| FAIL | 0 | 4 | |
| total | 9 | 9 | |
| case | bash | osh | description |
| 0 | pass | pass | SHELLOPTS is updated when options are changed |
| 1 | pass | ok | SHELLOPTS is readonly |
| details | |||
| 2 | pass | FAIL | SHELLOPTS and BASHOPTS are non-empty |
| details | |||
| 3 | pass | pass | SHELLOPTS reflects flags like sh -x |
| 4 | pass | FAIL | export SHELLOPTS does cross-process tracing |
| details | |||
| 5 | pass | FAIL | export SHELLOPTS does cross-process tracing with bash |
| details | |||
| 6 | pass | pass | OSH calling bash with SHELLOPTS does not change braceexpand |
| 7 | N-I | FAIL | If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS |
| details | details | ||
| 8 | pass | pass | shopt -s progcomp hostcomplete are stubs (bash-completion) |
12 passed, 1 OK, 1 not implemented, 0 BUG, 4 failed, 0 timeouts, 0 cases skipped 4 failed under osh
| osh | 1 SHELLOPTS is readonly stdout: stderr: SHELLOPTS=x ^~~~~~~~~~ [ stdin ]:1: fatal: Can't assign to readonly value 'SHELLOPTS' |
| osh | 2 SHELLOPTS and BASHOPTS are non-empty [osh stdout] Expected 'shellopts is set\nbashopts is set\n' Got 'shellopts is set\n' [osh status] Expected 0 Got 1 stdout: shellopts is setstderr: echo bashopts ${BASHOPTS:?} > /dev/null
^~~~~~~~
[ stdin ]:10: fatal: Var BASHOPTS is unset
|
| osh | 4 export SHELLOPTS does cross-process tracing [osh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n" Got "1\n2\n+ echo 2\n+ echo 1\nsh -c 'echo 2'\n" stdout: 1 2 + echo 2 + echo 1 sh -c 'echo 2'stderr: |
| osh | 5 export SHELLOPTS does cross-process tracing with bash [osh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n" Got "1\n+ echo 2\n2\n+ echo 1\nsh -c 'echo 2'\n" stdout: 1 + echo 2 2 + echo 1 sh -c 'echo 2'stderr: |
| bash | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS stdout: stderr: |
| osh | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [osh stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=hashall\nSHELLOPTS=hashall:xtrace\nSHELLOPTS=hashall\n' stdout: SHELLOPTS=hashall SHELLOPTS=hashall:xtrace SHELLOPTS=hashallstderr: + echo 'SHELLOPTS=hashall' + set -x + echo 'SHELLOPTS=hashall:xtrace' + set '+x' |