22 passed, 1 OK, 3 not implemented, 0 BUG, 30 failed, 0 timeouts, 0 cases skipped 2 failed under osh
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: + grep -q xtrace + echo + 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 |
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' |
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 |
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 |
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: |
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: |
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' |