run-tests 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash --
  2. set -eu
  3. unset applications do_install_deps CLEANUP_LVM name DEFAULT_LVM_POOL retcode
  4. applications=(lvm2 python3-inotify python3-sphinx python3-docutils
  5. python3-pyyaml python3-jinja2 python3-lxml python3-pylint python3-coverage
  6. btrfs-progs vim-common)
  7. do_install_deps=false
  8. rpm -q --quiet -- "${applications[@]}" ||
  9. sudo dnf -- install "${applications[@]}"
  10. CLEANUP_LVM=
  11. name=$(dirname "$0")
  12. if sudo --non-interactive "$name/ci/lvm-manage" setup-lvm vg$$/pool; then
  13. export DEFAULT_LVM_POOL=vg$$/pool
  14. CLEANUP_LVM=yes
  15. fi
  16. : "${PYTHON:=python3}"
  17. : "${TESTPYTHONPATH:=test-packages}"
  18. if [ -d ../core-qrexec/qrexec ] && ! $PYTHON -c 'import qrexec' 2>/dev/null; then
  19. PYTHONPATH="${PYTHONPATH-}:../core-qrexec"
  20. fi
  21. PYTHONPATH="${TESTPYTHONPATH}:${PYTHONPATH}"
  22. export PYTHONPATH
  23. "${PYTHON}" setup.py egg_info --egg-base "${TESTPYTHONPATH}"
  24. "${PYTHON}" -m coverage run --rcfile=ci/coveragerc -m qubes.tests.run "$@"
  25. retcode=$?
  26. if [ -n "$CLEANUP_LVM" ]; then
  27. sudo --non-interactive $(dirname "$0")/ci/lvm-manage cleanup-lvm "$DEFAULT_LVM_POOL"
  28. fi
  29. exit $retcode