Results for builtin-trap.test.sh

statusoshosh-cpp
pass 2020
ok 22
FAIL 11
total2323
caseoshosh-cppdescription
0pass pass trap accepts/ignores --
1pass pass Register invalid trap
2pass pass Remove invalid trap
3pass pass SIGINT and INT are aliases
4FAIL FAIL trap without args prints traps, like trap -p
detailsdetails
5ok ok trap 'echo hi' KILL (regression test, caught by smoosh suite)
detailsdetails
6pass pass Invalid trap invocation
7pass pass exit 1 when trap code string is invalid
8pass pass trap EXIT calling exit
9pass pass trap EXIT return status ignored
10pass pass trap EXIT with PARSE error
11pass pass trap EXIT with PARSE error and explicit exit
12pass pass trap EXIT with explicit exit
13pass pass trap EXIT with command sub / subshell / pipeline
14pass pass trap 0 is equivalent to EXIT
15pass pass trap 1 is equivalent to SIGHUP; HUP is equivalent to SIGHUP
16pass pass eval in the exit trap (regression for issue #293)
17pass pass exit codes for traps are isolated
18pass pass traps are cleared in subshell (started with &)
19pass pass trap USR1, sleep, SIGINT: non-interactively
20ok ok trap INT, sleep, SIGINT: non-interactively
detailsdetails
21pass pass trap EXIT, sleep, SIGINT: non-interactively
22pass pass Remove trap with an unsigned integer
40 passed, 4 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

osh4 trap without args prints traps, like trap -p

[osh stdout] Expected "status=0\ntrap -- 'true' EXIT\nstatus=0\n", got 'status=0\nstatus=1\n'

stdout:
status=0
status=1
stderr:
  trap | grep EXIT
  ^~~~
[ -c flag ]:6: 'trap' requires a code string
osh-cpp4 trap without args prints traps, like trap -p

[osh-cpp stdout] Expected "status=0\ntrap -- 'true' EXIT\nstatus=0\n", got 'status=0\nstatus=1\n'

stdout:
status=0
status=1
stderr:
  trap | grep EXIT
  ^~~~
[ -c flag ]:6: 'trap' requires a code string
osh5 trap 'echo hi' KILL (regression test, caught by smoosh suite)

stdout:
status=1
status=1
status=1
status=0
stderr:
  trap 'echo hi' 9
                 ^
[ stdin ]:1: Signal '9' can't be handled
  trap 'echo hi' KILL
                 ^~~~
[ stdin ]:4: Invalid signal or hook 'KILL'
  trap 'echo hi' STOP
                 ^~~~
[ stdin ]:7: Signal 'STOP' can't be handled
osh-cpp5 trap 'echo hi' KILL (regression test, caught by smoosh suite)

stdout:
status=1
status=1
status=1
status=0
stderr:
  trap 'echo hi' 9
                 ^
[ stdin ]:1: Signal '9' can't be handled
  trap 'echo hi' KILL
                 ^~~~
[ stdin ]:4: Invalid signal or hook 'KILL'
  trap 'echo hi' STOP
                 ^~~~
[ stdin ]:7: Signal 'STOP' can't be handled
osh20 trap INT, sleep, SIGINT: non-interactively

stdout:
int
status=0
stderr:
osh-cpp20 trap INT, sleep, SIGINT: non-interactively

stdout:
int
status=0
stderr: