119 passed, 15 OK, 5 not implemented, 9 BUG, 2 failed, 0 timeouts, 0 cases skipped 2 failed under osh
| bash | 0 traps are not active inside subshells $() () trap | cat stdout: 1 traps.txt ( ) trap -- 'echo bye' EXIT $(trap) trap -- 'echo bye' EXIT trap | cat trap -- 'echo bye' EXIT byestderr: |
| ash | 0 traps are not active inside subshells $() () trap | cat stdout: 1 traps.txt ( ) $(trap) trap -- 'echo bye' EXIT trap | cat byestderr: |
| mksh | 3 trap foo gives non-zero error stdout: stderr: |
| dash | 4 SIGINT and INT are aliases stdout: 1 0stderr: trap: SIGINT: bad trap |
| dash | 6 print trap handler with multiple lines stdout: trap -- 'echo 1 echo 2 echo 3' INTstderr: |
| mksh | 6 print trap handler with multiple lines stdout: trap -- $'echo 1\necho 2\necho 3' INTstderr: |
| ash | 6 print trap handler with multiple lines stdout: trap -- 'echo 1 echo 2 echo 3' INTstderr: |
| osh | 6 print trap handler with multiple lines [osh stdout] Expected "trap -- 'echo 1\necho 2\necho 3' SIGINT\n" Got "trap -- '<unknown>' SIGINT\n" stdout: trap -- '<unknown>' SIGINTstderr: |
| dash | 7 trap -p is like trap: it prints the handlers and full signal names stdout: stderr: |
| mksh | 7 trap -p is like trap: it prints the handlers and full signal names stdout: EXITstderr: mksh: <stdin>[4]: trap: -p: unknown option |
| ash | 7 trap -p is like trap: it prints the handlers and full signal names stdout: EXITstderr: ash: trap: line 4: illegal option -p |
| dash | 8 Register the same handler for multiple signals stdout: trap -- 'echo test' EXIT trap -- 'echo test' INT trap -- 'echo test' TERM teststderr: |
| mksh | 8 Register the same handler for multiple signals stdout: trap -- 'echo test' EXIT trap -- 'echo test' INT trap -- 'echo test' TERM teststderr: |
| ash | 8 Register the same handler for multiple signals stdout: trap -- 'echo test' EXIT trap -- 'echo test' INT trap -- 'echo test' TERM teststderr: |
| dash | 10 trap EXIT clears the EXIT trap stdout: trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo INT' INT ---stderr: |
| mksh | 10 trap EXIT clears the EXIT trap stdout: trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT EXITstderr: |
| ash | 10 trap EXIT clears the EXIT trap stdout: trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo INT' INT ---stderr: |
| dash | 11 trap 0 is equivalent to trap EXIT stdout: trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo INT' INTstderr: |
| mksh | 11 trap 0 is equivalent to trap EXIT stdout: trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo INT' INTstderr: |
| ash | 11 trap 0 is equivalent to trap EXIT stdout: trap -- 'echo EXIT' EXIT trap -- 'echo INT' INT --- trap -- 'echo INT' INTstderr: |
| dash | 12 trap 1 is equivalent to SIGHUP; HUP is equivalent to SIGHUP stdout: status=1 status=0 status=0 status=0stderr: trap: SIGHUP: bad trap |
| mksh | 14 trap '' EXIT - printing state stdout: trap -- 'echo exit' EXIT trap -- EXIT trap -- '# comment' EXITstderr: |
| osh | 14 trap '' EXIT - printing state [osh stdout] Expected "trap -- 'echo exit' EXIT\n\ntrap -- '' EXIT\n\ntrap -- '# comment' EXIT\n" Got "trap -- 'echo exit' EXIT\n\ntrap -- '<unknown>' EXIT\n\ntrap -- '<unknown>' EXIT\n" stdout: trap -- 'echo exit' EXIT trap -- '<unknown>' EXIT trap -- '<unknown>' EXITstderr: |
| osh | 15 trap 'echo hi' KILL (regression test, caught by smoosh suite) stdout: status=2 status=2 status=2 status=0stderr: trap 'echo hi' 9
^
[ stdin ]:1: Signal '9' can't be handled
trap 'echo hi' KILL
^~~~
[ stdin ]:4: Signal 'KILL' can't be handled
trap 'echo hi' STOP
^~~~
[ stdin ]:7: Signal 'STOP' can't be handled
|
| dash | 16 exit 1 when trap code string is invalid stdout: status=0stderr: dash: 1: Syntax error: end of file unexpected |
| bash | 16 exit 1 when trap code string is invalid stdout: status=0stderr: bash: exit trap: line 1: syntax error near unexpected token `newline' bash: exit trap: line 1: `echo <' |
| mksh | 16 exit 1 when trap code string is invalid stdout: status=0stderr: mksh: syntax error: unexpected EOF |
| ash | 16 exit 1 when trap code string is invalid stdout: status=0stderr: ash: syntax error: unexpected end of file |
| mksh | 19 trap EXIT with PARSE error stdout: FAILEDstderr: mksh: <stdin>[2]: syntax error: 'newline' unexpected |
| mksh | 27 trap INT, sleep, SIGINT: non-interactively stdout: mkshstderr: |
| osh | 27 trap INT, sleep, SIGINT: non-interactively stdout: int status=0stderr: |