nosetest doesn't support python 3.10 and over the years the python community has been settling on pytest as test runner, this change introduces pytest and adds py3.10 to the gh workflow testing matrix.
66 lines
1.8 KiB
INI
66 lines
1.8 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 =
|
|
{toxinidir}/pip.sh install {opts} {packages}
|
|
|
|
commands = pytest --cov=zaza.openstack {posargs} {toxinidir}/unit_tests
|
|
|
|
[testenv:py3]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
|
|
[testenv:py3.8]
|
|
basepython = python3.8
|
|
deps = -r{toxinidir}/requirements.txt
|
|
|
|
[testenv:py3.9]
|
|
basepython = python3.9
|
|
deps = -r{toxinidir}/requirements.txt
|
|
|
|
[testenv:py3.10]
|
|
basepython = python3.10
|
|
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
|