spec test index / oilshell.org
| case | dash | bash | mksh | osh | description |
| 0 | N-I | pass | N-I | pass | trap -l |
| details | details | ||||
| 1 | N-I | pass | N-I | pass | trap -p |
| details | details | ||||
| 2 | pass | pass | pass | pass | Register invalid trap |
| 3 | pass | pass | pass | pass | Remove invalid trap |
| 4 | N-I | pass | pass | pass | SIGINT and INT are aliases |
| details | |||||
| 5 | ok | pass | BUG | pass | Invalid trap invocation |
| details | details | ||||
| 6 | BUG | BUG | BUG | pass | exit 1 when trap code string is invalid |
| details | details | details | |||
| 7 | pass | pass | pass | pass | trap EXIT |
| 8 | N-I | pass | N-I | FAIL | trap DEBUG |
| details | details | details | |||
| 9 | N-I | pass | N-I | FAIL | trap RETURN |
| details | details | details | |||
| 10 | N-I | pass | pass | FAIL | trap ERR and disable it |
| details | details | ||||
| 11 | pass | pass | ok | pass | trap with PARSE error (implicit exit) |
| details | |||||
| 12 | pass | pass | pass | pass | trap with PARSE error with explicit exit |
| 13 | pass | pass | pass | pass | trap 0 is equivalent to EXIT |
| 14 | N-I | pass | pass | pass | trap 1 is equivalent to SIGHUP; HUP is equivalent to SIGHUP |
| details |
40 passed, 2 ok, 11 known unimplemented, 4 known bugs, 3 failed, 0 skipped
| dash | 0 trap -l stdout: stderr: _tmp/spec-bin/dash: 1: trap: Illegal option -l |
| mksh | 0 trap -l stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: trap: -l: unknown option |
| dash | 1 trap -p stdout: exitstderr: _tmp/spec-bin/dash: 2: trap: Illegal option -p |
| mksh | 1 trap -p stdout: exitstderr: _tmp/spec-bin/mksh: <stdin>[2]: trap: -p: unknown option |
| dash | 4 SIGINT and INT are aliases stdout: 1 0stderr: trap: SIGINT: bad trap |
| dash | 5 Invalid trap invocation stdout: status=1stderr: trap: foo: bad trap |
| mksh | 5 Invalid trap invocation stdout: status=0stderr: |
| dash | 6 exit 1 when trap code string is invalid stdout: status=0stderr: _tmp/spec-bin/dash: 1: Syntax error: end of file unexpected |
| bash | 6 exit 1 when trap code string is invalid stdout: status=0stderr: _tmp/spec-bin/bash: exit trap: line 1: syntax error near unexpected token `newline' _tmp/spec-bin/bash: exit trap: line 1: `echo <' |
| mksh | 6 exit 1 when trap code string is invalid stdout: status=0stderr: _tmp/spec-bin/mksh: syntax error: unexpected EOF |
| dash | 8 trap DEBUG stdout: 1 2stderr: trap: DEBUG: bad trap |
| mksh | 8 trap DEBUG stdout: 1 2stderr: _tmp/spec-bin/mksh: <stdin>[4]: trap: bad signal 'DEBUG' |
| osh | 8 trap DEBUG [osh stdout] Expected 'debuglog [x y]\n1\ndebuglog [x y]\n2\n', got '1\n2\n' stdout: 1 2stderr: osh warning: *** The 'DEBUG' isn't yet implemented in OSH *** |
| dash | 9 trap RETURN stdout: -- f -- -- g -- return-helper.shstderr: trap: RETURN: bad trap |
| mksh | 9 trap RETURN stdout: -- f -- -- g -- return-helper.shstderr: _tmp/spec-bin/mksh: <stdin>[16]: trap: bad signal 'RETURN' |
| osh | 9 trap RETURN [osh stdout] Expected '--\nf\n--\n--\ng\n--\nreturn-helper.sh\nprofile [x y]\n', got '--\nf\n--\n--\ng\n--\nreturn-helper.sh\n' stdout: -- f -- -- g -- return-helper.shstderr: osh warning: *** The 'RETURN' isn't yet implemented in OSH *** |
| dash | 10 trap ERR and disable it stdout: 1 2 3stderr: trap: ERR: bad trap trap: ERR: bad trap |
| osh | 10 trap ERR and disable it [osh stdout] Expected '1\nerr [x y] 1\n2\n3\n', got '1\n2\n3\n' stdout: 1 2 3stderr: osh warning: *** The 'ERR' isn't yet implemented in OSH *** |
| mksh | 11 trap with PARSE error (implicit exit) stdout: FAILEDstderr: _tmp/spec-bin/mksh: <stdin>[2]: syntax error: 'newline' unexpected |
| dash | 14 trap 1 is equivalent to SIGHUP; HUP is equivalent to SIGHUP stdout: status=1 status=0 status=0 status=0stderr: trap: SIGHUP: bad trap |