summary refs log tree commit diff
path: root/bin/cash/tests/builtins/trap1.0
blob: 061a84cd7b60fb1d8cd391288735f850ed0aba8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# $FreeBSD: releng/12.0/bin/sh/tests/builtins/trap1.0 213738 2010-10-12 18:20:38Z obrien $

test "$(trap 'echo trapped' EXIT; :)" = trapped || exit 1

test "$(trap 'echo trapped' EXIT; /usr/bin/true)" = trapped || exit 1

result=$(${SH} -c 'trap "echo trapped" EXIT; /usr/bin/false')
test $? -eq 1 || exit 1
test "$result" = trapped || exit 1

result=$(${SH} -c 'trap "echo trapped" EXIT; exec /usr/bin/false')
test $? -eq 1 || exit 1
test -z "$result" || exit 1

result=0
trap 'result=$((result+1))' INT
kill -INT $$
test "$result" -eq 1 || exit 1
(kill -INT $$)
test "$result" -eq 2 || exit 1

exit 0