25 passed, 1 OK, 5 not implemented, 0 BUG, 49 failed, 0 timeouts, 0 cases skipped 2 failed under osh
dash | 0 SHELLOPTS is updated when options are changed stdout: 1 1 1stderr: + echo + grep -q xtrace + echo 1 + set +x |
ash | 0 SHELLOPTS is updated when options are changed [ash stdout] Expected '1\n0\n1\n', got '1\n1\n1\n' stdout: 1 1 1stderr: + echo + grep -q xtrace + echo 1 + set +x |
zsh | 0 SHELLOPTS is updated when options are changed [zsh stdout] Expected '1\n0\n1\n', got '1\n1\n1\n' stdout: 1 1 1stderr: +zsh:4> echo +zsh:4> grep -q xtrace +zsh:5> echo 1 +zsh:6> set +x |
mksh | 0 SHELLOPTS is updated when options are changed stdout: 1 1 1stderr: + echo + grep -q xtrace + echo 1 + set +x |
ksh | 0 SHELLOPTS is updated when options are changed [ksh stdout] Expected '1\n0\n1\n', got '1\n1\n1\n' stdout: 1 1 1stderr: + echo + grep -q xtrace + echo 1 + set +x |
toysh | 0 SHELLOPTS is updated when options are changed [toysh stdout] Expected '1\n0\n1\n', got '1\n1\n1\n' stdout: 1 1 1stderr: echo $SHELLOPTS | grep -q xtrace echo $? set +x |
sush | 0 SHELLOPTS is updated when options are changed [sush stdout] Expected '1\n0\n1\n', got '1\n1\n1\n' stdout: 1 1 1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: -x: invalid option |
dash | 1 SHELLOPTS is readonly stdout: status=0stderr: |
ash | 1 SHELLOPTS is readonly [ash stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
zsh | 1 SHELLOPTS is readonly [zsh stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
mksh | 1 SHELLOPTS is readonly stdout: status=0stderr: |
ksh | 1 SHELLOPTS is readonly [ksh stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
toysh | 1 SHELLOPTS is readonly [toysh stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
sush | 1 SHELLOPTS is readonly [sush stdout] Expected 'status=1\n', got 'status=0\n' stdout: status=0stderr: |
osh | 1 SHELLOPTS is readonly stdout: stderr: SHELLOPTS=x ^~~~~~~~~~ [ stdin ]:1: fatal: Can't assign to readonly value 'SHELLOPTS' |
dash | 2 SHELLOPTS and BASHOPTS are non-empty [dash stdout] Expected 'shellopts is set\nbashopts is set\n', got '' stdout: stderr: dash: 1: test: -v: unexpected operator dash: 4: test: -v: unexpected operator dash: 9: SHELLOPTS: parameter not set or null |
ash | 2 SHELLOPTS and BASHOPTS are non-empty [ash stdout] Expected 'shellopts is set\nbashopts is set\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: SHELLOPTS: unknown operand ash: BASHOPTS: unknown operand ash: SHELLOPTS: parameter not set or null |
zsh | 2 SHELLOPTS and BASHOPTS are non-empty [zsh stdout] Expected 'shellopts is set\nbashopts is set\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: test: unknown condition: -v test: unknown condition: -v zsh: SHELLOPTS: parameter not set |
mksh | 2 SHELLOPTS and BASHOPTS are non-empty [mksh stdout] Expected 'shellopts is set\nbashopts is set\n', got '' stdout: stderr: mksh: <stdin>[3]: test: SHELLOPTS: unexpected operator/operand mksh: <stdin>[6]: test: BASHOPTS: unexpected operator/operand mksh: <stdin>[9]: SHELLOPTS: parameter null or not set |
ksh | 2 SHELLOPTS and BASHOPTS are non-empty [ksh stdout] Expected 'shellopts is set\nbashopts is set\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[9]: SHELLOPTS: parameter null or not set |
toysh | 2 SHELLOPTS and BASHOPTS are non-empty [toysh stdout] Expected 'shellopts is set\nbashopts is set\n', got '' [toysh status] Expected 0, got 1 stdout: stderr: test: too many arguments test: too many arguments main: line 9: sh: SHELLOPTS: main: line 10: sh: BASHOPTS: |
sush | 2 SHELLOPTS and BASHOPTS are non-empty [sush stdout] Expected 'shellopts is set\nbashopts is set\n', got '' [sush status] Expected 0, got 1 stdout: stderr: test: ā-vā: unary operator expected test: ā-vā: unary operator expected /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: SHELLOPTS: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: BASHOPTS: |
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 |
dash | 3 SHELLOPTS reflects flags like sh -x [dash stdout] Expected 'xtrace\n', got '' [dash status] Expected 0, got 1 stdout: stderr: + echo |
ash | 3 SHELLOPTS reflects flags like sh -x [ash stdout] Expected 'xtrace\n', got '' [ash status] Expected 0, got 1 stdout: stderr: + echo |
zsh | 3 SHELLOPTS reflects flags like sh -x [zsh stdout] Expected 'xtrace\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: +zsh:1> echo |
mksh | 3 SHELLOPTS reflects flags like sh -x [mksh stdout] Expected 'xtrace\n', got '' [mksh status] Expected 0, got 1 stdout: stderr: + echo |
ksh | 3 SHELLOPTS reflects flags like sh -x [ksh stdout] Expected 'xtrace\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: + echo |
toysh | 3 SHELLOPTS reflects flags like sh -x [toysh stdout] Expected 'xtrace\n', got '' [toysh status] Expected 0, got 1 stdout: stderr: sh: Unknown option 'x' (see "sh --help") |
sush | 3 SHELLOPTS reflects flags like sh -x [sush stdout] Expected 'xtrace\n', got '' [sush status] Expected 0, got 1 stdout: stderr: : line : set: -x: invalid option |
dash | 4 export SHELLOPTS does cross-process tracing [dash stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got '+ echo 1\n1\nsh -c echo 2\n2\n' stdout: + echo 1 1 sh -c echo 2 2stderr: |
ash | 4 export SHELLOPTS does cross-process tracing [ash stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
zsh | 4 export SHELLOPTS does cross-process tracing [zsh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+zsh:4> echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: +zsh:4> echo 1 1 sh -c 'echo 2' 2stderr: |
mksh | 4 export SHELLOPTS does cross-process tracing [mksh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
ksh | 4 export SHELLOPTS does cross-process tracing [ksh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
toysh | 4 export SHELLOPTS does cross-process tracing [toysh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got ' echo 1 \n1\n $SH -c "echo 2" \n2\n' stdout: echo 1 1 $SH -c "echo 2" 2stderr: |
sush | 4 export SHELLOPTS does cross-process tracing [sush stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got '/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: -x: invalid option\n1\n2\n' stdout: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: -x: invalid option 1 2stderr: |
brush | 4 export SHELLOPTS does cross-process tracing [brush stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
dash | 5 export SHELLOPTS does cross-process tracing with bash [dash stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got '+ echo 1\n1\nsh -c echo 2\n2\n' stdout: + echo 1 1 sh -c echo 2 2stderr: |
ash | 5 export SHELLOPTS does cross-process tracing with bash [ash stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
zsh | 5 export SHELLOPTS does cross-process tracing with bash [zsh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+zsh:4> echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: +zsh:4> echo 1 1 sh -c 'echo 2' 2stderr: |
mksh | 5 export SHELLOPTS does cross-process tracing with bash [mksh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
ksh | 5 export SHELLOPTS does cross-process tracing with bash [ksh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got "+ echo 1\n1\nsh -c 'echo 2'\n2\n" stdout: + echo 1 1 sh -c 'echo 2' 2stderr: |
toysh | 5 export SHELLOPTS does cross-process tracing with bash [toysh stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got ' echo 1 \n1\nsh -c "echo 2" \n2\n' stdout: echo 1 1 sh -c "echo 2" 2stderr: |
sush | 5 export SHELLOPTS does cross-process tracing with bash [sush stdout] Expected "+ echo 1\n1\nsh -c 'echo 2'\n+ echo 2\n2\n", got '/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: -x: invalid option\n1\n2\n' stdout: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: -x: invalid option 1 2stderr: |
bash | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS stdout: stderr: |
dash | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [dash stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=\nSHELLOPTS=\nSHELLOPTS=\n' stdout: SHELLOPTS= SHELLOPTS= SHELLOPTS=stderr: dash: 3: shopt: not found + echo SHELLOPTS= + set +x |
ash | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [ash stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=\nSHELLOPTS=\nSHELLOPTS=\n' stdout: SHELLOPTS= SHELLOPTS= SHELLOPTS=stderr: ash: shopt: not found + echo 'SHELLOPTS=' + set +x |
zsh | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [zsh stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=\nSHELLOPTS=\nSHELLOPTS=\n' stdout: SHELLOPTS= SHELLOPTS= SHELLOPTS=stderr: zsh: command not found: shopt +zsh:6> echo 'SHELLOPTS=' +zsh:7> set +x |
mksh | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [mksh stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=\nSHELLOPTS=\nSHELLOPTS=\n' stdout: SHELLOPTS= SHELLOPTS= SHELLOPTS=stderr: mksh: <stdin>[3]: shopt: not found + echo 'SHELLOPTS=' + set +x |
ksh | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [ksh stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=\nSHELLOPTS=\nSHELLOPTS=\n' stdout: SHELLOPTS= SHELLOPTS= SHELLOPTS=stderr: E: ksh: <stdin>[3]: shopt: inaccessible or not found + echo 'SHELLOPTS=' + set +x |
toysh | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [toysh stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [sush stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=\nSHELLOPTS=\nSHELLOPTS=\n' stdout: SHELLOPTS= SHELLOPTS= SHELLOPTS=stderr: sush: shopt: --: invalid shell option name shopt: usage: shopt [-su] [optname ...] /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: set: -x: invalid option |
brush | 7 If shopt --set xtrace is allowed, it should update SHELLOPTS, not BASHOPTS [brush stdout] Expected 'SHELLOPTS=xtrace\nSHELLOPTS=xtrace\nSHELLOPTS=\n' Got 'SHELLOPTS=braceexpand:hashall:interactive-comments\nSHELLOPTS=braceexpand:hashall:interactive-comments:xtrace\nSHELLOPTS=braceexpand:hashall:interactive-comments\n' stdout: SHELLOPTS=braceexpand:hashall:interactive-comments SHELLOPTS=braceexpand:hashall:interactive-comments:xtrace SHELLOPTS=braceexpand:hashall:interactive-commentsstderr: error: unexpected argument '--set' found tip: to pass '--set' as a value, use '-- --set' Usage: shopt [OPTIONS] [OPTIONS]... For more information, try '--help'. + echo SHELLOPTS=braceexpand:hashall:interactive-comments:xtrace + set +x |
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' |