Results for builtin-trap-err.test.sh

statusoshosh-cpp
pass 1414
ok 11
FAIL 44
total1919
caseoshosh-cppdescription
0pass pass trap can use original $LINENO
1pass pass trap ERR and set -o errexit
2pass pass trap ERR and errexit disabled context
3pass pass trap ERR and if statement
4pass pass trap ERR and || conditional
5FAIL FAIL trap ERR and pipeline
detailsdetails
6FAIL FAIL trap ERR pipelines without simple commands
detailsdetails
7pass pass trap ERR does not run in errexit situations
8pass pass trap ERR doesn't run in subprograms - subshell, command sub, async
9FAIL FAIL set -o errtrace: trap ERR runs in subprograms
detailsdetails
10pass pass trap ERR not active in shell functions in (bash behavior)
11FAIL FAIL set -o errtrace - trap ERR runs in shell functions
detailsdetails
12pass pass trap ERR with "atoms": assignment (( [[
13pass pass trap ERR with for, case, { }
14pass pass trap ERR with redirect
15pass pass trap ERR with YSH proc
16pass pass trap ERR
17ok ok trap ERR and pipelines (lastpipe and PIPESTATUS difference)
detailsdetails
18pass pass error in trap ERR (recursive)
28 passed, 2 OK, 0 not implemented, 0 BUG, 8 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

osh5 trap ERR and pipeline

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

stdout:
line=3
line=3
line=5
line=5
stderr:
osh-cpp5 trap ERR and pipeline

[osh-cpp stdout] Expected 'line=3\nline=5\n', got 'line=3\nline=3\nline=5\nline=5\n'

stdout:
line=3
line=3
line=5
line=5
stderr:
osh6 trap ERR pipelines without simple commands

[osh stdout] Expected 'assign\nsubshell\ndparen\ndbracket\nok\n', got 'assign\nassign\nsubshell\nsubshell\ndparen\ndparen\ndbracket\ndbracket\nok\n'

stdout:
assign
assign
subshell
subshell
dparen
dparen
dbracket
dbracket
ok
stderr:
osh-cpp6 trap ERR pipelines without simple commands

[osh-cpp stdout] Expected 'assign\nsubshell\ndparen\ndbracket\nok\n', got 'assign\nassign\nsubshell\nsubshell\ndparen\ndparen\ndbracket\ndbracket\nok\n'

stdout:
assign
assign
subshell
subshell
dparen
dparen
dbracket
dbracket
ok
stderr:
osh9 set -o errtrace: trap ERR runs in subprograms

[osh stdout] Expected 'line=6\nsubshell\nline=12\nasync\nline=14\nok\n' Got 'subshell\nasync\nline=14\nok\n'

stdout:
subshell
async
line=14
ok
stderr:
  set -o errtrace
  ^~~
[ stdin ]:3: 'set' got invalid option 'errtrace'
[1] Done PID 9807
[1] Done PID 9808
osh-cpp9 set -o errtrace: trap ERR runs in subprograms

[osh-cpp stdout] Expected 'line=6\nsubshell\nline=12\nasync\nline=14\nok\n' Got 'subshell\nasync\nline=14\nok\n'

stdout:
subshell
async
line=14
ok
stderr:
  set -o errtrace
  ^~~
[ stdin ]:3: 'set' got invalid option 'errtrace'
[1] Done PID 9818
[1] Done PID 9819
osh11 set -o errtrace - trap ERR runs in shell functions

[osh stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'line=10\nline=16\nnow with errtrace\nline=10\nok\n'

stdout:
line=10
line=16
now with errtrace
line=10
ok
stderr:
  set -o errtrace
  ^~~
[ stdin ]:16: 'set' got invalid option 'errtrace'
osh-cpp11 set -o errtrace - trap ERR runs in shell functions

[osh-cpp stdout] Expected 'line=14\nnow with errtrace\nline=4\nline=10\nline=20\nok\n' Got 'line=10\nline=16\nnow with errtrace\nline=10\nok\n'

stdout:
line=10
line=16
now with errtrace
line=10
ok
stderr:
  set -o errtrace
  ^~~
[ stdin ]:16: 'set' got invalid option 'errtrace'
osh17 trap ERR and pipelines (lastpipe and PIPESTATUS difference)

stdout:
A
err [] status=1 []
B
err [] status=1 [0 0]
err [] status=1 [0 1]
err [] status=1 [0 1 0]
ok
stderr:
osh-cpp17 trap ERR and pipelines (lastpipe and PIPESTATUS difference)

stdout:
A
err [] status=1 []
B
err [] status=1 [0 0]
err [] status=1 [0 1]
err [] status=1 [0 1 0]
ok
stderr: