Results for sh-options-bash.test.sh

statusoshosh-cpp
pass 66
ok 11
FAIL 22
total99
caseoshosh-cppdescription
0pass pass SHELLOPTS is updated when options are changed
1ok ok SHELLOPTS is readonly
detailsdetails
2FAIL FAIL SHELLOPTS and BASHOPTS are non-empty
detailsdetails
3pass pass SHELLOPTS reflects flags like sh -x
4pass pass export SHELLOPTS does cross-process tracing
5pass pass export SHELLOPTS does cross-process tracing with bash
6pass pass OSH calling bash with SHELLOPTS does not change braceexpand
7FAIL FAIL If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS
detailsdetails
8pass pass shopt -s progcomp hostcomplete are stubs (bash-completion)
12 passed, 2 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh1 SHELLOPTS is readonly

stdout:
stderr: 
  SHELLOPTS=x
  ^~~~~~~~~~
[ stdin ]:1: fatal: Can't assign to readonly value 'SHELLOPTS'
osh-cpp1 SHELLOPTS is readonly

stdout:
stderr: 
  SHELLOPTS=x
  ^~~~~~~~~~
[ stdin ]:1: fatal: Can't assign to readonly value 'SHELLOPTS'
osh2 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 set
stderr:
  echo bashopts ${BASHOPTS:?} > /dev/null
                  ^~~~~~~~
[ stdin ]:10: fatal: Var BASHOPTS is unset
osh-cpp2 SHELLOPTS and BASHOPTS are non-empty

[osh-cpp stdout] Expected 'shellopts is set\nbashopts is set\n', got 'shellopts is set\n'
[osh-cpp status] Expected 0, got 1

stdout:
shellopts is set
stderr:
  echo bashopts ${BASHOPTS:?} > /dev/null
                  ^~~~~~~~
[ stdin ]:10: fatal: Var BASHOPTS is unset
osh7 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=hashall
stderr:
+ echo 'SHELLOPTS=hashall'
+ set -x
+ echo 'SHELLOPTS=hashall:xtrace'
+ set '+x'
osh-cpp7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS

[osh-cpp stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=hashall\nSHELLOPTS=hashall:xtrace\nSHELLOPTS=hashall\n'

stdout:
SHELLOPTS=hashall
SHELLOPTS=hashall:xtrace
SHELLOPTS=hashall
stderr:
+ echo 'SHELLOPTS=hashall'
+ set -x
+ echo 'SHELLOPTS=hashall:xtrace'
+ set '+x'