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>
126 lines
3.6 KiB
INI
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
|