78 passed, 1 OK, 5 not implemented, 7 BUG, 70 failed, 0 timeouts, 0 cases skipped 2 failed under osh
toysh | 0 trap can use original $LINENO [toysh stdout] Expected 'line=3\nline=4\nok\n', got 'ok\n' stdout: okstderr: sh: trap: No such file or directory |
sush | 0 trap can use original $LINENO [sush stdout] Expected 'line=3\nline=4\nok\n', got 'ok\n' stdout: okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification |
brush | 0 trap can use original $LINENO [brush stdout] Expected 'line=3\nline=4\nok\n', got 'ok\n' stdout: okstderr: |
toysh | 1 trap ERR and set -o errexit [toysh stdout] Expected 'line=3\na\nb\nline=9\n', got 'a\nb\nc\n' [toysh status] Expected 1, got 0 stdout: a b cstderr: sh: trap: No such file or directory set: bad -o errexit |
sush | 1 trap ERR and set -o errexit [sush stdout] Expected 'line=3\na\nb\nline=9\n', got 'a\nb\nc\n' [sush status] Expected 1, got 0 stdout: a b cstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: set: errexit: invalid option name |
brush | 1 trap ERR and set -o errexit [brush stdout] Expected 'line=3\na\nb\nline=9\n', got 'a\nb\nc\n' [brush status] Expected 1, got 0 stdout: a b cstderr: |
toysh | 2 trap ERR and errexit disabled context [toysh stdout] Expected 'line=3\na\nb\nc\n', got 'a\nb\nc\n' stdout: a b cstderr: sh: trap: No such file or directory set: bad -o errexit |
sush | 2 trap ERR and errexit disabled context [sush stdout] Expected 'line=3\na\nb\nc\n', got 'a\nb\nc\n' stdout: a b cstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: set: errexit: invalid option name |
brush | 2 trap ERR and errexit disabled context [brush stdout] Expected 'line=3\na\nb\nc\n', got 'a\nb\nc\n' stdout: a b cstderr: |
toysh | 4 trap ERR and || conditional [toysh stdout] Expected 'line=3\nok\nok\n', got 'ok\nok\n' stdout: ok okstderr: sh: trap: No such file or directory |
sush | 4 trap ERR and || conditional [sush stdout] Expected 'line=3\nok\nok\n', got 'ok\nok\n' stdout: ok okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification |
brush | 4 trap ERR and || conditional [brush stdout] Expected 'line=3\nok\nok\n', got 'ok\nok\n' stdout: ok okstderr: |
mksh | 5 trap ERR and pipeline stdout: line=1 line=1stderr: |
ksh | 5 trap ERR and pipeline [ksh stdout] Expected 'line=3\nline=5\n', got 'line=1\nline=1\n' stdout: line=1 line=1stderr: |
toysh | 5 trap ERR and pipeline [toysh stdout] Expected 'line=3\nline=5\n', got '' stdout: stderr: sh: trap: No such file or directory |
sush | 5 trap ERR and pipeline [sush stdout] Expected 'line=3\nline=5\n', got '' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification Pid: Pid(3676591), Signal: SIGPIPE |
brush | 5 trap ERR and pipeline [brush stdout] Expected 'line=3\nline=5\n', got '' stdout: stderr: |
bash | 6 trap ERR pipelines without simple commands stdout: assign dparen dbracket subshell subshell subshell2 subshell2 group okstderr: |
toysh | 6 trap ERR pipelines without simple commands [toysh stdout] Expected 'assign\ndparen\ndbracket\nsubshell\nsubshell2\ngroup\nok\n' Got 'ok\n' stdout: okstderr: sh: trap: No such file or directory sh: trap: No such file or directory sh: trap: No such file or directory sh: trap: No such file or directory sh: trap: No such file or directory sh: trap: No such file or directory |
sush | 6 trap ERR pipelines without simple commands [sush stdout] Expected 'assign\ndparen\ndbracket\nsubshell\nsubshell2\ngroup\nok\n' Got '' [sush status] Expected 0, got 101 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification thread 'main' panicked at src/elements/pipeline.rs:47:32: called `Option::unwrap()` on a `None` value note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
brush | 6 trap ERR pipelines without simple commands [brush stdout] Expected 'assign\ndparen\ndbracket\nsubshell\nsubshell2\ngroup\nok\n' Got 'ok\n' stdout: okstderr: |
toysh | 7 Pipeline group quirk [toysh stdout] Expected 'group2\nok\n', got 'ok\n' stdout: okstderr: sh: trap: No such file or directory |
sush | 7 Pipeline group quirk [sush stdout] Expected 'group2\nok\n', got 'ok\n' stdout: okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification |
brush | 7 Pipeline group quirk [brush stdout] Expected 'group2\nok\n', got 'ok\n' stdout: okstderr: |
toysh | 8 trap ERR does not run in errexit situations [toysh stdout] Expected 'until\nline=16\nline=20\nline=20\nline=20\nok\n' Got 'until\nok\n' stdout: until okstderr: sh: trap: No such file or directory |
sush | 8 trap ERR does not run in errexit situations [sush stdout] Expected 'until\nline=16\nline=20\nline=20\nline=20\nok\n' Got 'until\nok\n' stdout: until okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: Unexpected token: do sush: break: only meaningful in a `for', `while', or `until' loop /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: Unexpected token: done |
brush | 8 trap ERR does not run in errexit situations [brush stdout] Expected 'until\nline=16\nline=20\nline=20\nline=20\nok\n' Got 'until\nok\n' stdout: until okstderr: |
toysh | 9 trap ERR doesn't run in subprograms - subshell, command sub, async [toysh stdout] Expected 'subshell\nasync\nline=11\nok\n', got 'subshell\nasync\nok\n' stdout: subshell async okstderr: sh: trap: No such file or directory |
sush | 9 trap ERR doesn't run in subprograms - subshell, command sub, async [sush stdout] Expected 'subshell\nasync\nline=11\nok\n', got 'subshell\nasync\nok\n' stdout: subshell async okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification 3677640 3677644 |
brush | 9 trap ERR doesn't run in subprograms - subshell, command sub, async [brush stdout] Expected 'subshell\nasync\nline=11\nok\n', got 'subshell\nasync\nok\n' stdout: subshell async okstderr: |
mksh | 10 set -o errtrace: trap ERR runs in subprograms stdout: stderr: |
ksh | 10 set -o errtrace: trap ERR runs in subprograms [ksh stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[3]: set: errtrace: unknown option |
toysh | 10 set -o errtrace: trap ERR runs in subprograms [toysh stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 10 set -o errtrace: trap ERR runs in subprograms [sush stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got 'subshell\nok\n' stdout: subshell okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: errtrace: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: trap: ERR: invalid signal specification |
brush | 10 set -o errtrace: trap ERR runs in subprograms [brush stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got 'subshell\nok\n' stdout: subshell okstderr: |
mksh | 12 set -o errtrace: trap ERR with & stdout: stderr: |
ksh | 12 set -o errtrace: trap ERR with & [ksh stdout] Expected 'line=8\nasync\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[3]: set: errtrace: unknown option |
toysh | 12 set -o errtrace: trap ERR with & [toysh stdout] Expected 'line=8\nasync\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 12 set -o errtrace: trap ERR with & [sush stdout] Expected 'line=8\nasync\n', got 'async\n' stdout: asyncstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: errtrace: invalid option name /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: trap: ERR: invalid signal specification 3678380 3678391 |
brush | 12 set -o errtrace: trap ERR with & [brush stdout] Expected 'line=8\nasync\n', got 'async\n' stdout: asyncstderr: |
osh | 12 set -o errtrace: trap ERR with & [osh stdout] Expected 'line=8\nasync\n', got 'line=6\nline=8\nasync\n' stdout: line=6 line=8 asyncstderr: |
mksh | 13 trap ERR not active in shell functions in (bash behavior) stdout: line=4stderr: |
ksh | 13 trap ERR not active in shell functions in (bash behavior) [ksh stdout] Expected '', got 'line=4\n' stdout: line=4stderr: |
mksh | 14 set -o errtrace - trap ERR runs in shell functions stdout: err errstderr: mksh: <stdin>[16]: set: errtrace: bad option |
ksh | 14 set -o errtrace - trap ERR runs in shell functions [ksh stdout] Expected 'err\nnow with errtrace\nerr\nerr\nerr\nok\n', got 'err\nerr\n' [ksh status] Expected 0, got 1 stdout: err errstderr: E: ksh: <stdin>[16]: set: errtrace: unknown option |
toysh | 14 set -o errtrace - trap ERR runs in shell functions [toysh stdout] Expected 'err\nnow with errtrace\nerr\nerr\nerr\nok\n', got 'now with errtrace\nok\n' stdout: now with errtrace okstderr: sh: trap: No such file or directory set: bad -o errtrace |
sush | 14 set -o errtrace - trap ERR runs in shell functions [sush stdout] Expected 'err\nnow with errtrace\nerr\nerr\nerr\nok\n', got 'now with errtrace\nok\n' stdout: now with errtrace okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: set: errtrace: invalid option name |
brush | 14 set -o errtrace - trap ERR runs in shell functions [brush stdout] Expected 'err\nnow with errtrace\nerr\nerr\nerr\nok\n', got 'now with errtrace\nok\n' stdout: now with errtrace okstderr: |
mksh | 15 set -o errtrace - trap ERR runs in shell functions (LINENO) stdout: line=4 line=10stderr: mksh: <stdin>[16]: set: errtrace: bad option |
ksh | 15 set -o errtrace - trap ERR runs in shell functions (LINENO) [ksh stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'line=4\nline=10\n' [ksh status] Expected 0, got 1 stdout: line=4 line=10stderr: E: ksh: <stdin>[16]: set: errtrace: unknown option |
toysh | 15 set -o errtrace - trap ERR runs in shell functions (LINENO) [toysh stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'now with errtrace\nok\n' stdout: now with errtrace okstderr: sh: trap: No such file or directory set: bad -o errtrace |
sush | 15 set -o errtrace - trap ERR runs in shell functions (LINENO) [sush stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'now with errtrace\nok\n' stdout: now with errtrace okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: set: errtrace: invalid option name |
brush | 15 set -o errtrace - trap ERR runs in shell functions (LINENO) [brush stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'now with errtrace\nok\n' stdout: now with errtrace okstderr: |
osh | 15 set -o errtrace - trap ERR runs in shell functions (LINENO) [osh stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'line=10\nnow with errtrace\nline=4\nline=10\nline=10\nok\n' stdout: line=10 now with errtrace line=4 line=10 line=10 okstderr: |
mksh | 16 trap ERR with "atoms": assignment (( [[ stdout: line=3 line=3 line=7 okstderr: |
ksh | 16 trap ERR with "atoms": assignment (( [[ [ksh stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'line=3\nline=3\nline=7\nok\n' stdout: line=3 line=3 line=7 okstderr: |
toysh | 16 trap ERR with "atoms": assignment (( [[ [toysh stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'ok\n' stdout: okstderr: sh: trap: No such file or directory |
sush | 16 trap ERR with "atoms": assignment (( [[ [sush stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'ok\n' stdout: okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification |
brush | 16 trap ERR with "atoms": assignment (( [[ [brush stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'ok\n' stdout: okstderr: |
toysh | 17 trap ERR with for, case, { } [toysh stdout] Expected 'line=4\nline=4\nline=8\nline=12\nline=12\nline=12\nok\n' Got 'ok\n' stdout: okstderr: sh: trap: No such file or directory |
sush | 17 trap ERR with for, case, { } [sush stdout] Expected 'line=4\nline=4\nline=8\nline=12\nline=12\nline=12\nok\n' Got 'ok\n' stdout: okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification |
brush | 17 trap ERR with for, case, { } [brush stdout] Expected 'line=4\nline=4\nline=8\nline=12\nline=12\nline=12\nok\n' Got 'ok\n' stdout: okstderr: |
bash | 18 trap ERR with redirect stdout: line=3 line=3 okstderr: bash: line 7: /zz: Permission denied |
mksh | 18 trap ERR with redirect stdout: line=3 line=3 okstderr: mksh: <stdin>[7]: can't create /zz: Permission denied |
ksh | 18 trap ERR with redirect [ksh stdout] Expected 'line=3\nline=7\nok\n', got 'line=3\nline=3\nok\n' stdout: line=3 line=3 okstderr: W: ksh: <stdin>[7]: /zz: create: Permission denied |
toysh | 18 trap ERR with redirect [toysh stdout] Expected 'line=3\nline=7\nok\n', got 'ok\n' stdout: okstderr: sh: trap: No such file or directory sh: /zz: Permission denied |
sush | 18 trap ERR with redirect [sush stdout] Expected 'line=3\nline=7\nok\n', got 'ok\n' stdout: okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: /zz: permission denied |
brush | 18 trap ERR with redirect [brush stdout] Expected 'line=3\nline=7\nok\n', got 'ok\n' stdout: okstderr: [31mERROR[0m error: failed to redirect to /zz: Permission denied (os error 13) |
bash | 19 trap ERR with YSH proc stdout: stderr: |
mksh | 19 trap ERR with YSH proc stdout: stderr: |
toysh | 19 trap ERR with YSH proc [toysh stdout] Expected 'err\n', got '' [toysh status] Expected 1, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 19 trap ERR with YSH proc [sush status] Expected 1, got 2 stdout: errstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: shopt: ysh:upgrade: not supported yet /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: proc: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: syntax error: unexpected end of file |
brush | 19 trap ERR with YSH proc [brush status] Expected 1, got 2 stdout: errstderr: shopt: ysh:upgrade: invalid shell option name proc: command not found [31mERROR[0m main: syntax error near token ` ' (line 1 col 2) [31mERROR[0m main: syntax error at end of input |
toysh | 20 trap ERR [toysh stdout] Expected 'A\nerr [x y] 1\nB\nerr [x y] 42\nC\nD\nafter errexit 99\n' Got 'A\nB\nC\nD\nE\n' [toysh status] Expected 99, got 0 stdout: A B C D Estderr: sh: trap: No such file or directory sh: trap: No such file or directory sh: trap: No such file or directory set: bad -o errexit |
sush | 20 trap ERR [sush stdout] Expected 'A\nerr [x y] 1\nB\nerr [x y] 42\nC\nD\nafter errexit 99\n' Got 'A\nB\nC\nD\nE\n' [sush status] Expected 99, got 0 stdout: A B C D Estderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 19: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: set: errexit: invalid option name |
brush | 20 trap ERR [brush stdout] Expected 'A\nerr [x y] 1\nB\nerr [x y] 42\nC\nD\nafter errexit 99\n' Got 'A\nB\nC\nD\nE\n' [brush status] Expected 99, got 0 stdout: A B C D Estderr: |
toysh | 21 trap ERR and pipelines - PIPESTATUS difference [toysh stdout] Expected 'A\nerr [] status=1 [1]\nB\nerr [] status=1 [0 1]\nerr [] status=1 [0 1 0]\nok\n' Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 21 trap ERR and pipelines - PIPESTATUS difference [sush stdout] Expected 'A\nerr [] status=1 [1]\nB\nerr [] status=1 [0 1]\nerr [] status=1 [0 1 0]\nok\n' Got 'A\nB\nok\n' stdout: A B okstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: trap: ERR: invalid signal specification /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: trap: ERR: invalid signal specification |
brush | 21 trap ERR and pipelines - PIPESTATUS difference [brush stdout] Expected 'A\nerr [] status=1 [1]\nB\nerr [] status=1 [0 1]\nerr [] status=1 [0 1 0]\nok\n' Got 'A\nB\nok\n' stdout: A B okstderr: |
osh | 21 trap ERR and pipelines - PIPESTATUS difference stdout: A err [] status=1 [] B err [] status=1 [0 1] err [] status=1 [0 1 0] okstderr: |
toysh | 22 error in trap ERR (recursive) [toysh stdout] Expected 'A\nerr status 1\nerr 2\nB\nerr status 1\n', got '' [toysh status] Expected 1, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 22 error in trap ERR (recursive) [sush stdout] Expected 'A\nerr status 1\nerr 2\nB\nerr status 1\n', got 'A\nB\n' stdout: A Bstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: trap: ERR: invalid signal specification |
brush | 22 error in trap ERR (recursive) [brush stdout] Expected 'A\nerr status 1\nerr 2\nB\nerr status 1\n', got 'A\nB\nC\n' [brush status] Expected 1, got 0 stdout: A B Cstderr: |