diff options
Diffstat (limited to 'scripts/test-config.sh')
-rwxr-xr-x | scripts/test-config.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/test-config.sh b/scripts/test-config.sh new file mode 100755 index 0000000..695e518 --- /dev/null +++ b/scripts/test-config.sh @@ -0,0 +1,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 "$@" |