ash testsuite: add return_in_trap1.tests
No binary (build failed)
—
(log yok)
| @@ -0,0 +1,4 @@ | |
| + | a:2 |
| + | b:0 |
| + | Trap |
| + | d:3 |
| @@ -0,0 +1,18 @@ | |
| + | a() { |
| + | (exit 2) |
| + | echo a:$? |
| + | (kill -s USR1 $$; echo b:$?; exit 3) |
| + | echo c:$? # does not execute |
| + | (exit 4) |
| + | } |
| + | |
| + | trap "echo Trap; return" USR1 |
| + | a |
| + | |
| + | echo d:$? |
| + | # It's debatable what is the correct value above. |
| + | # Does 'return' in trap sees $? == 2 or $? == 3? |
| + | # IOW: after (kill..), does shell first wait for its completion |
| + | # and sets $?, then checks pending signals and runs a trap handler, |
| + | # or does it first checks pending signals and runs handler? |
| + | # hush does the former, and prints 3. |