mmdebstrap/tests/sigint-during-customize-hook
Johannes Schauer Marin Rodrigues 4c3fddcd54
rewrite coverage.sh
- multiple individual shell scripts instead of one 3.5k line monster
 - tests driven by Python script allowing:
    * declarative test description in coverage.txt
    * collecting errors instead of aborting on first error
    * skipping tests
    * running specific tests
2022-05-28 17:49:05 +02:00

21 lines
537 B
Bash

#!/bin/sh
set -eu
export LC_ALL=C.UTF-8
setsid --wait {{ CMD }} --mode=root --variant=apt --customize-hook='touch done && sleep 10 && touch fail' {{ DIST }} /tmp/debian-chroot {{ MIRROR }} &
pid=$!
while sleep 1; do [ -e done ] && break; done
rm done
pgid=$(echo $(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