blob: 856c922d3072fc3707c9c83b4b191929b9b6b379 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# Non-empty traps should be reset in subshell
# If job control is disabled, skip the test ("Terminated" text not emitted)
test "`type jobs`" = "jobs is a shell builtin" || exit 77
# HUP is special in interactive shells
trap '' HUP
# QUIT is always special
trap '' QUIT
# SYS is not special
trap '' SYS
# WINCH is harmless
trap 'bad: caught WINCH' WINCH
# With TERM we'll check whether it is reset
trap 'bad: caught TERM' TERM
(trap; "$THIS_SH" -c 'kill -HUP $PPID'; echo Ok)
(trap; "$THIS_SH" -c 'kill -QUIT $PPID'; echo Ok)
(trap; "$THIS_SH" -c 'kill -SYS $PPID'; echo Ok)
(trap; "$THIS_SH" -c 'kill -WINCH $PPID'; echo Ok)
(trap; "$THIS_SH" -c 'kill -TERM $PPID'; echo Bad: TERM is not reset)
echo Done
|