summaryrefslogtreecommitdiffstats
path: root/scripts/test-config.sh
blob: 695e5182a2e82fb7c75b3298463c54c114a6a6ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0-or-later
# Utility script used by meson to run config tests post installation
set -o nounset -o errexit

# if anything fails during test setup, use exit code 77 to mark it as skipped
function skip {
    exit 77
}
trap skip ERR

TEST_DIR="$(dirname ${TEST_FILE})"
TMP_RUNDIR="$(mktemp -d)"

function finish {
	if [[ "$(jobs -p)" != "" ]]
	then
		echo "SIGKILLing leftover processes:"
		jobs -l
		kill -s SIGKILL $(jobs -p)
	fi
	rm -rf "${TMP_RUNDIR}"
}
trap finish EXIT

cp -a "${TEST_DIR}/"* "${TMP_RUNDIR}/"
cd "${TMP_RUNDIR}"

which kresd || (echo "kresd not executable!"; exit 77)
trap ERR  # get actual kresd error code from now on

kresd "$@"