Results for builtin-trap-err.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 20141533320
ok 0000001
N-I 1400000
BUG 2500000
FAIL 0082020202
total23232323232323
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass FAIL FAIL FAIL pass trap can use original $LINENO
detailsdetailsdetails
1pass pass pass FAIL FAIL FAIL pass trap ERR and set -o errexit
detailsdetailsdetails
2pass pass pass FAIL FAIL FAIL pass trap ERR and errexit disabled context
detailsdetailsdetails
3pass pass pass pass pass pass pass trap ERR and if statement
4pass pass pass FAIL FAIL FAIL pass trap ERR and || conditional
detailsdetailsdetails
5pass BUG FAIL FAIL FAIL FAIL pass trap ERR and pipeline
detailsdetailsdetailsdetailsdetails
6BUG pass pass FAIL FAIL FAIL pass trap ERR pipelines without simple commands
detailsdetailsdetailsdetails
7pass pass pass FAIL FAIL FAIL pass Pipeline group quirk
detailsdetailsdetails
8pass pass pass FAIL FAIL FAIL pass trap ERR does not run in errexit situations
detailsdetailsdetails
9pass pass pass FAIL FAIL FAIL pass trap ERR doesn't run in subprograms - subshell, command sub, async
detailsdetailsdetails
10pass N-I FAIL FAIL FAIL FAIL pass set -o errtrace: trap ERR runs in subprograms
detailsdetailsdetailsdetailsdetails
11pass pass pass pass pass pass pass trap ERR doesn't run with &
12pass N-I FAIL FAIL FAIL FAIL FAIL set -o errtrace: trap ERR with &
detailsdetailsdetailsdetailsdetailsdetails
13pass N-I FAIL pass pass pass pass trap ERR not active in shell functions in (bash behavior)
detailsdetails
14pass BUG FAIL FAIL FAIL FAIL pass set -o errtrace - trap ERR runs in shell functions
detailsdetailsdetailsdetailsdetails
15pass BUG FAIL FAIL FAIL FAIL FAIL set -o errtrace - trap ERR runs in shell functions (LINENO)
detailsdetailsdetailsdetailsdetailsdetails
16pass BUG FAIL FAIL FAIL FAIL pass trap ERR with "atoms": assignment (( [[
detailsdetailsdetailsdetailsdetails
17pass pass pass FAIL FAIL FAIL pass trap ERR with for, case, { }
detailsdetailsdetails
18BUG BUG FAIL FAIL FAIL FAIL pass trap ERR with redirect
detailsdetailsdetailsdetailsdetailsdetails
19N-I N-I pass FAIL FAIL FAIL pass trap ERR with YSH proc
detailsdetailsdetailsdetailsdetails
20pass pass pass FAIL FAIL FAIL pass trap ERR
detailsdetailsdetails
21pass pass pass FAIL FAIL FAIL ok trap ERR and pipelines - PIPESTATUS difference
detailsdetailsdetailsdetails
22pass pass pass FAIL FAIL FAIL pass error in trap ERR (recursive)
detailsdetailsdetails
78 passed, 1 OK, 5 not implemented, 7 BUG, 70 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

toysh0 trap can use original $LINENO

[toysh stdout] Expected 'line=3\nline=4\nok\n', got 'ok\n'

stdout:
ok
stderr:
sh: trap: No such file or directory
sush0 trap can use original $LINENO

[sush stdout] Expected 'line=3\nline=4\nok\n', got 'ok\n'

stdout:
ok
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification
brush0 trap can use original $LINENO

[brush stdout] Expected 'line=3\nline=4\nok\n', got 'ok\n'

stdout:
ok
stderr:
toysh1 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
c
stderr:
sh: trap: No such file or directory
set: bad -o errexit
sush1 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
c
stderr:
/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
brush1 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
c
stderr:
toysh2 trap ERR and errexit disabled context

[toysh stdout] Expected 'line=3\na\nb\nc\n', got 'a\nb\nc\n'

stdout:
a
b
c
stderr:
sh: trap: No such file or directory
set: bad -o errexit
sush2 trap ERR and errexit disabled context

[sush stdout] Expected 'line=3\na\nb\nc\n', got 'a\nb\nc\n'

stdout:
a
b
c
stderr:
/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
brush2 trap ERR and errexit disabled context

[brush stdout] Expected 'line=3\na\nb\nc\n', got 'a\nb\nc\n'

stdout:
a
b
c
stderr:
toysh4 trap ERR and || conditional

[toysh stdout] Expected 'line=3\nok\nok\n', got 'ok\nok\n'

stdout:
ok
ok
stderr:
sh: trap: No such file or directory
sush4 trap ERR and || conditional

[sush stdout] Expected 'line=3\nok\nok\n', got 'ok\nok\n'

stdout:
ok
ok
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification
brush4 trap ERR and || conditional

[brush stdout] Expected 'line=3\nok\nok\n', got 'ok\nok\n'

stdout:
ok
ok
stderr:
mksh5 trap ERR and pipeline

stdout:
line=1
line=1
stderr:
ksh5 trap ERR and pipeline

[ksh stdout] Expected 'line=3\nline=5\n', got 'line=1\nline=1\n'

stdout:
line=1
line=1
stderr:
toysh5 trap ERR and pipeline

[toysh stdout] Expected 'line=3\nline=5\n', got ''

stdout:
stderr: 
sh: trap: No such file or directory
sush5 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
brush5 trap ERR and pipeline

[brush stdout] Expected 'line=3\nline=5\n', got ''

stdout:
stderr: 
bash6 trap ERR pipelines without simple commands

stdout:
assign
dparen
dbracket
subshell
subshell
subshell2
subshell2
group
ok
stderr:
toysh6 trap ERR pipelines without simple commands

[toysh stdout] Expected 'assign\ndparen\ndbracket\nsubshell\nsubshell2\ngroup\nok\n' Got 'ok\n'

stdout:
ok
stderr:
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
sush6 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
brush6 trap ERR pipelines without simple commands

[brush stdout] Expected 'assign\ndparen\ndbracket\nsubshell\nsubshell2\ngroup\nok\n' Got 'ok\n'

stdout:
ok
stderr:
toysh7 Pipeline group quirk

[toysh stdout] Expected 'group2\nok\n', got 'ok\n'

stdout:
ok
stderr:
sh: trap: No such file or directory
sush7 Pipeline group quirk

[sush stdout] Expected 'group2\nok\n', got 'ok\n'

stdout:
ok
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification
brush7 Pipeline group quirk

[brush stdout] Expected 'group2\nok\n', got 'ok\n'

stdout:
ok
stderr:
toysh8 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
ok
stderr:
sh: trap: No such file or directory
sush8 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
ok
stderr:
/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

brush8 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
ok
stderr:
toysh9 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
ok
stderr:
sh: trap: No such file or directory
sush9 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
ok
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification
3677640
3677644
brush9 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
ok
stderr:
mksh10 set -o errtrace: trap ERR runs in subprograms

stdout:
stderr: 
ksh10 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
toysh10 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
sush10 set -o errtrace: trap ERR runs in subprograms

[sush stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got 'subshell\nok\n'

stdout:
subshell
ok
stderr:
/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
brush10 set -o errtrace: trap ERR runs in subprograms

[brush stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got 'subshell\nok\n'

stdout:
subshell
ok
stderr:
mksh12 set -o errtrace: trap ERR with &

stdout:
stderr: 
ksh12 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
toysh12 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
sush12 set -o errtrace: trap ERR with &

[sush stdout] Expected 'line=8\nasync\n', got 'async\n'

stdout:
async
stderr:
/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
brush12 set -o errtrace: trap ERR with &

[brush stdout] Expected 'line=8\nasync\n', got 'async\n'

stdout:
async
stderr:
osh12 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
async
stderr:
mksh13 trap ERR not active in shell functions in (bash behavior)

stdout:
line=4
stderr:
ksh13 trap ERR not active in shell functions in (bash behavior)

[ksh stdout] Expected '', got 'line=4\n'

stdout:
line=4
stderr:
mksh14 set -o errtrace - trap ERR runs in shell functions

stdout:
err
err
stderr:
mksh: <stdin>[16]: set: errtrace: bad option
ksh14 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
err
stderr:
E: ksh: <stdin>[16]: set: errtrace: unknown option
toysh14 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
ok
stderr:
sh: trap: No such file or directory
set: bad -o errtrace
sush14 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
ok
stderr:
/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
brush14 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
ok
stderr:
mksh15 set -o errtrace - trap ERR runs in shell functions (LINENO)

stdout:
line=4
line=10
stderr:
mksh: <stdin>[16]: set: errtrace: bad option
ksh15 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=10
stderr:
E: ksh: <stdin>[16]: set: errtrace: unknown option
toysh15 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
ok
stderr:
sh: trap: No such file or directory
set: bad -o errtrace
sush15 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
ok
stderr:
/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
brush15 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
ok
stderr:
osh15 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
ok
stderr:
mksh16 trap ERR with "atoms": assignment (( [[

stdout:
line=3
line=3
line=7
ok
stderr:
ksh16 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
ok
stderr:
toysh16 trap ERR with "atoms": assignment (( [[

[toysh stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'ok\n'

stdout:
ok
stderr:
sh: trap: No such file or directory
sush16 trap ERR with "atoms": assignment (( [[

[sush stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'ok\n'

stdout:
ok
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification
brush16 trap ERR with "atoms": assignment (( [[

[brush stdout] Expected 'line=3\nline=5\nline=7\nok\n', got 'ok\n'

stdout:
ok
stderr:
toysh17 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:
ok
stderr:
sh: trap: No such file or directory
sush17 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:
ok
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: trap: ERR: invalid signal specification
brush17 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:
ok
stderr:
bash18 trap ERR with redirect

stdout:
line=3
line=3
ok
stderr:
bash: line 7: /zz: Permission denied
mksh18 trap ERR with redirect

stdout:
line=3
line=3
ok
stderr:
mksh: <stdin>[7]: can't create /zz: Permission denied
ksh18 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
ok
stderr:
W: ksh: <stdin>[7]: /zz: create: Permission denied
toysh18 trap ERR with redirect

[toysh stdout] Expected 'line=3\nline=7\nok\n', got 'ok\n'

stdout:
ok
stderr:
sh: trap: No such file or directory
sh: /zz: Permission denied
sush18 trap ERR with redirect

[sush stdout] Expected 'line=3\nline=7\nok\n', got 'ok\n'

stdout:
ok
stderr:
/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
brush18 trap ERR with redirect

[brush stdout] Expected 'line=3\nline=7\nok\n', got 'ok\n'

stdout:
ok
stderr:
ERROR error: failed to redirect to /zz: Permission denied (os error 13)
bash19 trap ERR with YSH proc

stdout:
stderr: 
mksh19 trap ERR with YSH proc

stdout:
stderr: 
toysh19 trap ERR with YSH proc

[toysh stdout] Expected 'err\n', got ''
[toysh status] Expected 1, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush19 trap ERR with YSH proc

[sush status] Expected 1, got 2

stdout:
err
stderr:
/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
brush19 trap ERR with YSH proc

[brush status] Expected 1, got 2

stdout:
err
stderr:
shopt: ysh:upgrade: invalid shell option name
proc: command not found
ERROR main: syntax error near token `
' (line 1 col 2)
ERROR main: syntax error at end of input
toysh20 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
E
stderr:
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
sush20 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
E
stderr:
/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
brush20 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
E
stderr:
toysh21 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
sush21 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
ok
stderr:
/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
brush21 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
ok
stderr:
osh21 trap ERR and pipelines - PIPESTATUS difference

stdout:
A
err [] status=1 []
B
err [] status=1 [0 1]
err [] status=1 [0 1 0]
ok
stderr:
toysh22 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
sush22 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
B
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: trap: ERR: invalid signal specification
brush22 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
C
stderr: