summaryrefslogtreecommitdiffstats
path: root/tests/sigint-during-customize-hook
blob: c8a4c942f505591322681aa4c9fe55fc306a29ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh
set -eu
export LC_ALL=C.UTF-8
setsid --wait {{ CMD }} --mode=root --variant=apt --customize-hook='touch hookstarted && sleep 10 && touch fail' {{ DIST }} /tmp/debian-chroot {{ MIRROR }} &
pid=$!
while sleep 1; do [ -e hookstarted ] && break; done
rm hookstarted
# negative PID values choose the whole process group
pgid=$((-1*$(ps -p "$pid" -o pgid=)))
/bin/kill --signal INT -- "$pgid"
ret=0
wait $pid || ret=$?
rm -r /tmp/debian-chroot
if [ -e fail ]; then
	echo customize hook was not interrupted >&2
	rm fail
	exit 1
fi
if [ "$ret" = 0 ]; then
	echo expected failure but got exit $ret >&2
	exit 1
fi