From 7312c97fa4611ccecff9122d6e4e8681b0539679 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sun, 14 Jun 2020 19:41:24 +0000 Subject: [PATCH] sh/tests: Add tests for SIGINT in non-jobc background commands If job control is not enabled, background commands shall ignore SIGINT and SIGQUIT, and it shall be possible to override that ignore in the same shell. MFC after: 1 week --- bin/sh/tests/execution/Makefile | 2 ++ bin/sh/tests/execution/bg11.0 | 16 ++++++++++++++++ bin/sh/tests/execution/bg12.0 | 12 ++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 bin/sh/tests/execution/bg11.0 create mode 100644 bin/sh/tests/execution/bg12.0 diff --git a/bin/sh/tests/execution/Makefile b/bin/sh/tests/execution/Makefile index 1f7f1c80ae2..c457c148b8f 100644 --- a/bin/sh/tests/execution/Makefile +++ b/bin/sh/tests/execution/Makefile @@ -17,6 +17,8 @@ ${PACKAGE}FILES+= bg7.0 ${PACKAGE}FILES+= bg8.0 ${PACKAGE}FILES+= bg9.0 ${PACKAGE}FILES+= bg10.0 bg10.0.stdout +${PACKAGE}FILES+= bg11.0 +${PACKAGE}FILES+= bg12.0 ${PACKAGE}FILES+= env1.0 ${PACKAGE}FILES+= fork1.0 ${PACKAGE}FILES+= fork2.0 diff --git a/bin/sh/tests/execution/bg11.0 b/bin/sh/tests/execution/bg11.0 new file mode 100644 index 00000000000..e0c48ed1607 --- /dev/null +++ b/bin/sh/tests/execution/bg11.0 @@ -0,0 +1,16 @@ +# $FreeBSD$ + +T=`mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXXXX` +trap 'rm -rf $T' 0 +cd $T || exit 3 +mkfifo fifo1 +# Use a trap, not the default action, since the shell may catch SIGINT and +# therefore its processing may be delayed. +{ trap 'exit 5' TERM; read dummy fifo1 +kill -INT "$!" +kill -TERM "$!" +exec 3>&- +wait "$!" +r=$? +[ "$r" = 5 ] diff --git a/bin/sh/tests/execution/bg12.0 b/bin/sh/tests/execution/bg12.0 new file mode 100644 index 00000000000..78102ecf630 --- /dev/null +++ b/bin/sh/tests/execution/bg12.0 @@ -0,0 +1,12 @@ +# $FreeBSD$ + +T=`mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXXXX` +trap 'rm -rf $T' 0 +cd $T || exit 3 +mkfifo fifo1 +{ trap - INT; : >fifo1; sleep 5; exit 4; } & +: