#!/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