aboutsummaryrefslogtreecommitdiff
path: root/bin/sh/tests/builtins/trap11.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh/tests/builtins/trap11.0')
-rw-r--r--bin/sh/tests/builtins/trap11.08
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/sh/tests/builtins/trap11.0 b/bin/sh/tests/builtins/trap11.0
new file mode 100644
index 000000000000..cfeea9ed9ded
--- /dev/null
+++ b/bin/sh/tests/builtins/trap11.0
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+# 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