core-admin/run-tests
Demi Marie Obenour 5daa964b9c
Only install dependencies if needed
If all of the dependencies are already installed, there is no need to
install them with DNF.
2020-11-27 22:20:39 -05:00

35 lines
1.1 KiB
Bash
Executable File

#!/bin/bash --
set -eu
unset applications do_install_deps CLEANUP_LVM name DEFAULT_LVM_POOL retcode
applications=(lvm2 python3-inotify python3-sphinx python3-docutils
python3-pyyaml python3-jinja2 python3-lxml python3-pylint python3-coverage
btrfs-progs vim-common)
do_install_deps=false
rpm -q --quiet -- "${applications[@]}" ||
sudo dnf -- install "${applications[@]}"
CLEANUP_LVM=
name=$(dirname "$0")
if sudo --non-interactive "$name/ci/lvm-manage" setup-lvm vg$$/pool; then
export DEFAULT_LVM_POOL=vg$$/pool
CLEANUP_LVM=yes
fi
: "${PYTHON:=python3}"
: "${TESTPYTHONPATH:=test-packages}"
if [ -d ../core-qrexec/qrexec ] && ! $PYTHON -c 'import qrexec' 2>/dev/null; then
PYTHONPATH="${PYTHONPATH-}:../core-qrexec"
fi
PYTHONPATH="${TESTPYTHONPATH}:${PYTHONPATH}"
export PYTHONPATH
"${PYTHON}" setup.py egg_info --egg-base "${TESTPYTHONPATH}"
"${PYTHON}" -m coverage run --rcfile=ci/coveragerc -m qubes.tests.run "$@"
retcode=$?
if [ -n "$CLEANUP_LVM" ]; then
sudo --non-interactive $(dirname "$0")/ci/lvm-manage cleanup-lvm "$DEFAULT_LVM_POOL"
fi
exit $retcode