summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-trap
diff options
context:
space:
mode:
authorDenys Vlasenko2009-10-08 03:06:04 +0200
committerDenys Vlasenko2009-10-08 03:06:04 +0200
commit4ac9819263114edb9b5b638ffa6d2e41a4bb46e7 (patch)
treef0c5bc9c7a2bf3a384b85350bfe4c9ca5ec4858f /shell/hush_test/hush-trap
parent5b807cd5acd1f27b3e7aa36aac2728be27c5907c (diff)
downloadbusybox-4ac9819263114edb9b5b638ffa6d2e41a4bb46e7.zip
busybox-4ac9819263114edb9b5b638ffa6d2e41a4bb46e7.tar.gz
apply post-1.15.1 fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-trap')
-rw-r--r--shell/hush_test/hush-trap/savetrap.right8
-rwxr-xr-xshell/hush_test/hush-trap/savetrap.tests9
-rw-r--r--shell/hush_test/hush-trap/subshell.right6
-rwxr-xr-xshell/hush_test/hush-trap/subshell.tests20
4 files changed, 43 insertions, 0 deletions
diff --git a/shell/hush_test/hush-trap/savetrap.right b/shell/hush_test/hush-trap/savetrap.right
new file mode 100644
index 0000000..a59225b
--- /dev/null
+++ b/shell/hush_test/hush-trap/savetrap.right
@@ -0,0 +1,8 @@
+trap -- 'echo Exiting' EXIT
+trap -- 'echo WINCH!' WINCH
+trap -- 'echo Exiting' EXIT
+trap -- 'echo WINCH!' WINCH
+trap -- 'echo Exiting' EXIT
+trap -- 'echo WINCH!' WINCH
+Done
+Exiting
diff --git a/shell/hush_test/hush-trap/savetrap.tests b/shell/hush_test/hush-trap/savetrap.tests
new file mode 100755
index 0000000..c2b312f
--- /dev/null
+++ b/shell/hush_test/hush-trap/savetrap.tests
@@ -0,0 +1,9 @@
+trap 'echo Exiting' EXIT
+trap 'echo WINCH!' SIGWINCH
+v=` trap `
+echo "$v"
+v=$( trap )
+echo "$v"
+v=`trap`
+echo "$v"
+echo Done
diff --git a/shell/hush_test/hush-trap/subshell.right b/shell/hush_test/hush-trap/subshell.right
new file mode 100644
index 0000000..0d20ed4
--- /dev/null
+++ b/shell/hush_test/hush-trap/subshell.right
@@ -0,0 +1,6 @@
+Ok
+Ok
+Ok
+Ok
+TERM
+Done
diff --git a/shell/hush_test/hush-trap/subshell.tests b/shell/hush_test/hush-trap/subshell.tests
new file mode 100755
index 0000000..4564c2e
--- /dev/null
+++ b/shell/hush_test/hush-trap/subshell.tests
@@ -0,0 +1,20 @@
+# 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
+
+# using bash, because we don't have $PPID (yet)
+(bash -c 'kill -HUP $PPID'; echo Ok)
+(bash -c 'kill -QUIT $PPID'; echo Ok)
+(bash -c 'kill -SYS $PPID'; echo Ok)
+(bash -c 'kill -WINCH $PPID'; echo Ok)
+(bash -c 'kill -TERM $PPID'; echo Bad: TERM is not reset)
+echo Done