The new PIP resolver wreaks havoc for this repository. Long term we should split unit test requirements into a separate file and whip unit tests into shape wrt. mocking out everything as opposed to relying on having random modules installed in the test environment.
54 lines
1.6 KiB
INI
54 lines
1.6 KiB
INI
[tox]
|
|
envlist = pep8, py3
|
|
skipsdist = True
|
|
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
|
|
sitepackages = False
|
|
# NOTE: Avoid false positives by not skipping missing interpreters.
|
|
skip_missing_interpreters = False
|
|
# NOTES:
|
|
# * We avoid the new dependency resolver by pinning pip < 20.3, see
|
|
# https://github.com/pypa/pip/issues/9187
|
|
# * Pinning dependencies requires tox >= 3.2.0, see
|
|
# https://tox.readthedocs.io/en/latest/config.html#conf-requires
|
|
# * It is also necessary to pin virtualenv as a newer virtualenv would still
|
|
# lead to fetching the latest pip in the func* tox targets, see
|
|
# https://stackoverflow.com/a/38133283
|
|
requires = pip < 20.3
|
|
virtualenv < 20.0
|
|
# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci
|
|
minversion = 3.2.0
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
install_command =
|
|
pip install {opts} {packages}
|
|
|
|
commands = nosetests --with-coverage --cover-package=zaza.openstack {posargs} {toxinidir}/unit_tests
|
|
|
|
[testenv:py3]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
commands = flake8 {posargs} zaza unit_tests
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
commands = /bin/true
|
|
|
|
[flake8]
|
|
ignore = E402,E226,W504
|
|
per-file-ignores =
|
|
unit_tests/**: D
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
changedir = doc/source
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
commands = sphinx-build -W -b html -d {toxinidir}/doc/build/doctrees . {toxinidir}/doc/build/html
|