Files
python-cinderclient/tox.ini
Brian Rosmaita 437551758e Fix pylint job
The old version of pylint we were using couldn't be installed because
of conflicting requirements versions, so update it to the most recent
pylint, 4.0.5, which supports python 3.14, since we will be supporting
it too.

Also update our lintstack scripts to use the modern name for do_exit,
namely, 'exit'.

Change-Id: I8d8bf8064aaea4e5de25634f0d86fb5e619b8503
Signed-off-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
2026-02-25 17:05:46 -05:00

126 lines
3.6 KiB
INI

[tox]
distribute = False
envlist = py3,pep8
minversion = 4.11.0
# specify virtualenv here to keep local runs consistent with the
# gate (it sets the versions of pip, setuptools, and wheel)
requires = virtualenv>=20.17.1
# 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==4.0.5
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 =
# can't use {[testenv]setenv} here due to tox 4 issue
# https://github.com/tox-dev/tox/issues/2831
VIRTUAL_ENV={envdir}
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_TEST_TIMEOUT=60
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-py{3,310,311,312,313}]
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