Run tests in virtualenvs using tox

Signed-off-by: Zack Cerza <zack@redhat.com>
This commit is contained in:
Zack Cerza 2020-07-06 18:01:25 -06:00 committed by Tomas Kopecek
parent fab382f079
commit 2b06288792
5 changed files with 68 additions and 12 deletions

55
tox.ini Normal file
View file

@ -0,0 +1,55 @@
[tox]
envlist = flake8,py2,py3
[testenv:flake8]
deps =
flake8
# On EL6, pip would get us a flake8 that doesn't work with python2.6. The next
# two lines let us use an RPM-based version from EPEL if it is installed
sitepackages = true
whitelist_externals = flake8
# These two lines just speed things up by avoiding unnecessary setup
skip_install=true
usedevelop=true
commands =
flake8 --exclude=.tox
[testenv]
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
# We need to access python-rpm, at least, and potentially more on EL6
sitepackages = true
# If rpm's python bindings are missing, don't continue
# Also, because coverage might be installed system-wide and it serves as our
# entry point, let's make sure it's installed in the virtualenv.
commands_pre =
{envbindir}/python -c "import rpm"
pip install -I coverage
[testenv:py3]
setenv =
PYTHONPATH=hub/.:plugins/hub/.:plugins/builder/.:plugins/cli/.:cli/.:www/lib
commands_pre =
{[testenv]commands_pre}
{envbindir}/coverage3 erase --rcfile .coveragerc3
commands =
{envbindir}/coverage3 run --rcfile .coveragerc3 --source . -m nose
{envbindir}/coverage3 report --rcfile .coveragerc3
{envbindir}/coverage3 html -d {toxinidir}/htmlcov/py3 --rcfile .coveragerc3
[testenv:py2]
setenv =
PYTHONPATH=.:plugins/builder/.:plugins/cli/.:cli/.:www/lib
commands_pre =
{[testenv]commands_pre}
{envbindir}/coverage2 erase
commands =
{envbindir}/coverage2 run --source . -m nose \
tests/test_builder tests/test_cli \
tests/test_plugins/test_runroot_builder.py \
tests/test_plugins/test_save_failed_tree_builder.py \
tests/test_plugins/test_runroot_cli.py \
tests/test_plugins/test_save_failed_tree_cli.py
{envbindir}/coverage2 report
{envbindir}/coverage2 html -d {toxinidir}/htmlcov/py3