Results for builtin-trap-err.test.sh

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

Details on runs that didn't PASS

dash0 trap can use original $LINENO

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

stdout:
ok
stderr:
trap: ERR: bad trap
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:
dash1 trap ERR and set -o errexit

[dash stdout] Expected 'line=3\na\nb\nline=9\n', got 'a\nb\n'

stdout:
a
b
stderr:
trap: ERR: bad trap
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:
dash2 trap ERR and errexit disabled context

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

stdout:
a
b
c
stderr:
trap: ERR: bad trap
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:
dash4 trap ERR and || conditional

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

stdout:
ok
ok
stderr:
trap: ERR: bad trap
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:
dash5 trap ERR and pipeline

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

stdout:
stderr: 
trap: ERR: bad trap
ash5 trap ERR and pipeline

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

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

stdout:
line=3
line=5
line=7
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(3995764), 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:
dash6 trap ERR pipelines without simple commands

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

stdout:
ok
stderr:
trap: ERR: bad trap
trap: ERR: bad trap
dash: 5: 0: not found
dash: 5: 0: not found
dash: 5: 0: not found
trap: ERR: bad trap
dash: 8: dash: 8: [[: not found
dash: 8: [[: not found
[[: not found
trap: ERR: bad trap
trap: ERR: bad trap
trap: ERR: bad trap
zsh6 trap ERR pipelines without simple commands

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

stdout:
assign
dparen
dbracket
subshell
subshell
subshell2
subshell2
subshell2
group
ok
stderr:
echo: write error: broken pipe
zsh: write error: inappropriate ioctl for device
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:
dash7 Pipeline group quirk

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

stdout:
ok
stderr:
trap: ERR: bad trap
zsh7 Pipeline group quirk

[zsh stdout] Expected 'group2\nok\n', got 'group2\ngroup2\nok\n'

stdout:
group2
group2
ok
stderr:
echo: write error: broken pipe
zsh: write error: inappropriate ioctl for device
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:
dash8 trap ERR does not run in errexit situations

[dash stdout] Expected 'until\nline=16\nline=20\nline=20\nline=20\nok\n' Got 'until\nok\n'

stdout:
until
ok
stderr:
trap: ERR: bad trap
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:
dash9 trap ERR doesn't run in subprograms - subshell, command sub, async

[dash stdout] Expected 'subshell\nasync\nline=11\nok\n', got 'subshell\nasync\nok\n'

stdout:
subshell
async
ok
stderr:
trap: ERR: bad trap
zsh9 trap ERR doesn't run in subprograms - subshell, command sub, async

[zsh stdout] Expected 'subshell\nasync\nline=11\nok\n', got 'line=3\nsubshell\nline=9\nasync\nline=11\nok\n'

stdout:
line=3
subshell
line=9
async
line=11
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
3996900
3996907
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:
dash10 set -o errtrace: trap ERR runs in subprograms

[dash stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 3: set: Illegal option -o errtrace
ash10 set -o errtrace: trap ERR runs in subprograms

stdout:
subshell
line=10
ok
stderr:
zsh10 set -o errtrace: trap ERR runs in subprograms

[zsh stdout] Expected 'line=6\nsubshell\nline=10\nok\n', got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
set: no such option: errtrace
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:
zsh11 trap ERR doesn't run with &

[zsh stdout] Expected 'async\n', got 'line=5\nasync\n'

stdout:
line=5
async
stderr:
dash12 set -o errtrace: trap ERR with &

[dash stdout] Expected 'line=8\nasync\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 3: set: Illegal option -o errtrace
ash12 set -o errtrace: trap ERR with &

stdout:
async
stderr:
zsh12 set -o errtrace: trap ERR with &

[zsh stdout] Expected 'line=8\nasync\n', got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
set: no such option: errtrace
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
3997660
3997664
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:
zsh13 trap ERR not active in shell functions in (bash behavior)

[zsh stdout] Expected '', got 'line=1\n'

stdout:
line=1
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:
dash14 set -o errtrace - trap ERR runs in shell functions

[dash stdout] Expected 'err\nnow with errtrace\nerr\nerr\nerr\nok\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
trap: ERR: bad trap
dash: 16: set: Illegal option -o errtrace
zsh14 set -o errtrace - trap ERR runs in shell functions

[zsh stdout] Expected 'err\nnow with errtrace\nerr\nerr\nerr\nok\n', got 'err\nerr\n'
[zsh status] Expected 0, got 1

stdout:
err
err
stderr:
set: no such option: errtrace
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:
dash15 set -o errtrace - trap ERR runs in shell functions (LINENO)

[dash stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
trap: ERR: bad trap
dash: 16: set: Illegal option -o errtrace
zsh15 set -o errtrace - trap ERR runs in shell functions (LINENO)

[zsh stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'line=1\nline=2\n'
[zsh status] Expected 0, got 1

stdout:
line=1
line=2
stderr:
set: no such option: errtrace
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:
dash16 trap ERR with "atoms": assignment (( [[

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

stdout:
ok
stderr:
trap: ERR: bad trap
dash: 5: [[: not found
dash: 7: 0: not found
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:
dash17 trap ERR with for, case, { }

[dash stdout] Expected 'line=4\nline=4\nline=8\nline=12\nline=12\nline=12\nok\n' Got 'ok\n'

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

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

stdout:
ok
stderr:
trap: ERR: bad trap
dash: 5: cannot create /zz: Permission denied
ash18 trap ERR with redirect

stdout:
line=3
ok
stderr:
ash: can't create /zz: Permission denied
zsh18 trap ERR with redirect

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

stdout:
line=3
line=5
ok
stderr:
zsh: permission denied: /zz
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: 
dash19 trap ERR with YSH proc

[dash status] Expected 1, got 2

stdout:
err
stderr:
dash: 4: shopt: not found
dash: 6: proc: not found
dash: 8: Syntax error: "}" unexpected
ash19 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
dash20 trap ERR

stdout:
A
B
C
D
stderr:
trap: ERR: bad trap
trap: ERR: bad trap
trap: ERR: bad trap
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:
dash21 trap ERR and pipelines - PIPESTATUS difference

[dash stdout] Expected 'A\nerr [] status=1 [1]\nB\nerr [] status=1 [0 1]\nerr [] status=1 [0 1 0]\nok\n' Got 'A\nB\n'
[dash status] Expected 0, got 2

stdout:
A
B
stderr:
trap: ERR: bad trap
dash: 18: set: Illegal option -o pipefail
ash21 trap ERR and pipelines - PIPESTATUS difference

stdout:
stderr: 
zsh21 trap ERR and pipelines - PIPESTATUS difference

[zsh stdout] Expected 'A\nerr [] status=1 [1]\nB\nerr [] status=1 [0 1]\nerr [] status=1 [0 1 0]\nok\n' Got 'A\nerr [] status=1 []\nB\nerr [] status=1 []\nerr [] status=1 []\nok\n'

stdout:
A
err [] status=1 []
B
err [] status=1 []
err [] status=1 []
ok
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:
dash22 error in trap ERR (recursive)

[dash status] Expected 1, got 0

stdout:
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: