Files
python-cinderclient/tox.ini
Ghanshyam Mann 2c7d463f37 Update python testing as per zed cycle testing runtime
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Moving the py36 job to py38 based but to run on
ubuntu focal as c8s does not seems to have py38.
Also updating the python classifier also to reflect the same.

[1] https://governance.openstack.org/tc/reference/runtimes/zed.html

Change-Id: Ic26a360d2bb09fa6622d1acaa5021c5afbc70240
2022-05-19 18:24:31 +00:00

124 lines
3.4 KiB
INI

[tox]
distribute = False
envlist = py3,pep8
minversion = 3.18.0
skipsdist = True
# this allows tox to infer the base python from the environment name
# and override any basepython configured in this file
ignore_basepython_conflict=true
[testenv]
basepython = python3
usedevelop = True
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_PATH=./cinderclient/tests/unit
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_TEST_TIMEOUT=60
passenv = *_proxy *_PROXY
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = find . -type f -name "*.pyc" -delete
stestr run {posargs}
stestr slowest
allowlist_externals = find
[testenv:pep8]
commands =
flake8
doc8
[testenv:pylint]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
pylint==2.6.0
commands = bash tools/lintstack.sh
allowlist_externals = bash
[testenv:venv]
commands = {posargs}
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source cinderclient --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html
[testenv:pdf-docs]
deps =
{[testenv:docs]deps}
commands =
{[testenv:docs]commands}
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
allowlist_externals =
make
cp
[testenv:releasenotes]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:functional]
deps =
{[testenv]deps}
tempest>=26.0.0
commands = stestr run {posargs}
setenv =
{[testenv]setenv}
OS_TEST_PATH = ./cinderclient/tests/functional
OS_VOLUME_API_VERSION = 3
# must define this here so it can be inherited by the -py3* environments
OS_CINDERCLIENT_EXEC_DIR = {envdir}/bin
# Our functional tests contain their own timeout handling, so
# turn off the timeout handling provided by the
# tempest.lib.base.BaseTestCase that our ClientTestBase class
# inherits from.
OS_TEST_TIMEOUT=0
# The OS_CACERT environment variable should be passed to the test
# environments to specify a CA bundle file to use in verifying a
# TLS (https) server certificate.
passenv = OS_*
[testenv:functional-py38]
deps = {[testenv:functional]deps}
setenv = {[testenv:functional]setenv}
passenv = {[testenv:functional]passenv}
commands = {[testenv:functional]commands}
[testenv:functional-py39]
deps = {[testenv:functional]deps}
setenv = {[testenv:functional]setenv}
passenv = {[testenv:functional]passenv}
commands = {[testenv:functional]commands}
[flake8]
show-source = True
ignore = H404,H405,E122,E123,E128,E251,W503,W504
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build
application-import-names = cinderclient
import-order-style = pep8
[doc8]
ignore-path=.tox,*.egg-info,doc/src/api,doc/source/drivers.rst,doc/build,.eggs/*/EGG-INFO/*.txt,doc/source/configuration/tables,./*.txt,releasenotes/build,doc/source/cli/details.rst
extension=.txt,.rst,.inc