aboutsummaryrefslogtreecommitdiffstats
path: root/shell_cmds/sh/tests/builtins/trap11.0
diff options
context:
space:
mode:
Diffstat (limited to 'shell_cmds/sh/tests/builtins/trap11.0')
-rw-r--r--shell_cmds/sh/tests/builtins/trap11.08
1 files changed, 8 insertions, 0 deletions
diff --git a/shell_cmds/sh/tests/builtins/trap11.0 b/shell_cmds/sh/tests/builtins/trap11.0
new file mode 100644
index 0000000..acb4d0f
--- /dev/null
+++ b/shell_cmds/sh/tests/builtins/trap11.0
@@ -0,0 +1,8 @@
+# $FreeBSD: head/bin/sh/tests/builtins/trap11.0 230212 2012-01-16 11:07:46Z dumbbell $
+
+# Check that the return statement will not break the USR1 trap, ie. all
+# trap commands are executed before the script resumes.
+
+result=$(${SH} -c 'trap "printf trap; echo ped" USR1; f() { return $(kill -USR1 $$); }; f')
+test $? -eq 0 || exit 1
+test "$result" = trapped || exit 1