diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-24 19:42:46 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-24 19:42:46 +0200 |
commit | 8d2191c6aedf60c29dc0a6ee8c452fee7e460ee7 (patch) | |
tree | 245e7bef11c2bdfcf770d8db3e52d9819582e855 /shell/ash_test/ash-signals/subshell.tests | |
parent | ca50caacad8354fe97eb0da23075521156c0c0d6 (diff) |
ash: copy three tests from hush_test/hush-signals/*
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test/ash-signals/subshell.tests')
-rwxr-xr-x | shell/ash_test/ash-signals/subshell.tests | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/shell/ash_test/ash-signals/subshell.tests b/shell/ash_test/ash-signals/subshell.tests new file mode 100755 index 000000000..d877f2b82 --- /dev/null +++ b/shell/ash_test/ash-signals/subshell.tests @@ -0,0 +1,19 @@ +# Non-empty traps should be reset in subshell + +# 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 |