cb1cdd8fda
If the missing package was needed, it will fail later anyway.
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/bash --
|
||
|
||
set -eu
|
||
unset CLEANUP_LVM name DEFAULT_LVM_POOL retcode
|
||
install_rpm_deps () {
|
||
local applications
|
||
applications=(lvm2 python3-docutils python3-pyyaml python3-jinja2
|
||
python3-lxml btrfs-progs vim-common)
|
||
rpm -q --quiet -- "${applications[@]}" ||
|
||
sudo dnf -- install "${applications[@]}" ||
|
||
: # we don’t actually care if this succeeds
|
||
}
|
||
if { command -pv rpm && command -pv dnf; }>/dev/null; then install_rpm_deps; fi
|
||
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
|