diff options
Diffstat (limited to 'shell/hush_test/hush-trap/exit.tests')
-rwxr-xr-x | shell/hush_test/hush-trap/exit.tests | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/shell/hush_test/hush-trap/exit.tests b/shell/hush_test/hush-trap/exit.tests index 092543c25..2061105dd 100755 --- a/shell/hush_test/hush-trap/exit.tests +++ b/shell/hush_test/hush-trap/exit.tests | |||
@@ -1,3 +1,34 @@ | |||
1 | "$THIS_SH" -c 'trap "echo cow" 0' | 1 | "$THIS_SH" -c 'trap "echo cow" 0' |
2 | "$THIS_SH" -c 'trap "echo moo" EXIT' | 2 | "$THIS_SH" -c 'trap "echo moo" EXIT' |
3 | "$THIS_SH" -c 'trap "echo no" 0; trap 0' | 3 | "$THIS_SH" -c 'trap "echo no" 0; trap 0' |
4 | |||
5 | ( | ||
6 | exitfunc() { | ||
7 | echo "Traps1:" | ||
8 | trap | ||
9 | # EXIT trap is disabled after it is triggered, | ||
10 | # it can not be "re-armed" like this: | ||
11 | trap "echo Should not run" EXIT | ||
12 | echo "Traps2:" | ||
13 | trap | ||
14 | } | ||
15 | trap 'exitfunc' EXIT | ||
16 | exit 42 | ||
17 | ) | ||
18 | echo Check1: $? | ||
19 | |||
20 | ( | ||
21 | exitfunc() { | ||
22 | echo "Traps1:" | ||
23 | trap | ||
24 | # EXIT trap is disabled after it is triggered, | ||
25 | # it can not be "re-armed" like this: | ||
26 | trap "echo Should not run" EXIT | ||
27 | echo "Traps2:" | ||
28 | trap | ||
29 | exit 42 | ||
30 | } | ||
31 | trap 'exitfunc' EXIT | ||
32 | exit 66 | ||
33 | ) | ||
34 | echo Check2: $? | ||