manila/tox.ini
silvacarloss 12aa2913ba Bump pylint version and fix pylint issues
Bumps pylint to version 3.0.2 and fixes some issues in the code
by either ignoring or changing the way we are approaching them.

Signed-off-by: silvacarloss <ces.eduardo98@gmail.com>
Change-Id: Ifdc9ae9326f2b3d63d4b2e9ce14854f391d504a9
2024-06-14 10:01:50 -03:00

178 lines
5.5 KiB
INI

[tox]
minversion = 3.18.0
envlist = py3,pep8
# Automatic envs (pyXX) will only use the python version appropriate to that
# env and ignore basepython inherited from [testenv] if we set
# ignore_basepython_conflict.
ignore_basepython_conflict = true
[testenv]
basepython = {env:TOX_PYTHON:python3}
usedevelop = true
setenv =
VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE=1
# TODO(stephenfin): Remove once we bump our upper-constraint to SQLAlchemy 2.0
SQLALCHEMY_WARN_20=1
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
stestr run {posargs}
stestr slowest
[testenv:releasenotes]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees \
-b html releasenotes/source releasenotes/build/html
allowlist_externals = rm
[testenv:newnote]
allowlist_externals = reno
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands = reno new {posargs}
[testenv:debug]
commands = oslo_debug_helper {posargs}
[testenv:pep8]
deps =
pre-commit
allowlist_externals =
{toxinidir}/tools/check_exec.py
{toxinidir}/tools/check_logging.sh
commands =
pre-commit run --all-files --show-diff-on-failure
{toxinidir}/tools/check_exec.py {toxinidir}/manila
{toxinidir}/tools/check_logging.sh {toxinidir}/manila
[testenv:genconfig]
allowlist_externals = bash
commands =
oslo-config-generator --config-file etc/oslo-config-generator/manila.conf
[testenv:genpolicy]
commands = oslopolicy-sample-generator --config-file=etc/manila/manila-policy-generator.conf
[testenv:venv]
commands = {posargs}
[testenv:bandit]
deps = bandit
commands = bandit -r manila --ini tox.ini -n5 -ll
[bandit]
exclude = tests,tegile,hitachi,glusterfs,vnx,ssh_utils.py
[testenv:docs]
# NOTE(elod.illes): requirements.txt is needed because otherwise
# dependencies are installed during 'develop-inst' tox phase without
# constraints which could cause failures in stable branches.
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/build
sphinx-build -W -b html doc/source doc/build/html
allowlist_externals = rm
[testenv:pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
deps = bindep
commands = bindep test
usedevelop = False
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source manila --parallel-mode
allowlist_externals =
{toxinidir}/tools/cover.sh
commands =
{toxinidir}/tools/cover.sh {posargs}
[testenv:fast8]
# Let's run fast8 under py3 by default because the py3 checks are stricter.
allowlist_externals =
{toxinidir}/tools/fast8.sh
commands =
{toxinidir}/tools/fast8.sh
[testenv:pylint]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
pylint==3.0.2
allowlist_externals = bash
commands = bash ./tools/coding-checks.sh --pylint {posargs}
[testenv:api-ref]
# This environment is called from CI scripts to test and publish
# the API Ref to docs.openstack.org.
deps = {[testenv:docs]deps}
allowlist_externals = rm
commands =
rm -rf api-ref/build
python {toxinidir}/tools/validate-json-files.py {toxinidir}/api-ref/source/samples/
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[testenv:dbrevision]
deps = -r{toxinidir}/requirements.txt
commands = alembic -c manila/db/migrations/alembic.ini revision -m ""{posargs}
[flake8]
# Following checks are ignored on purpose:
# Following checks should be evaluated and fixed:
# E123 closing bracket does not match indentation of opening bracket's line
# E402 module level import not at top of file
# W503 line break before binary operator
# W504 line break after binary operator
ignore = E123,E402,W503,W504
builtins = _
# [H106] Don't put vim configuration in source files.
# [H203] Use assertIs(Not)None to check for None.
# [H904] Use ',' instead of '%', String interpolation should be delayed to be handled by the logging code,
# rather than being done at the point of the logging call..
enable-extensions = H106,H203,H904
exclude = .git,.tox,.testrepository,.venv,build,cover,dist,doc,*egg,api-ref/build,*/source/conf.py
[hacking]
import_exceptions =
manila.i18n
[flake8:local-plugins]
extension =
M310 = checks:CheckLoggingFormatArgs
M313 = checks:validate_assertTrue
M323 = checks:check_explicit_underscore_import
M326 = checks:CheckForTransAdd
M333 = checks:check_oslo_namespace_imports
M336 = checks:dict_constructor_with_list_copy
M337 = checks:no_xrange
M338 = checks:no_log_warn_check
M339 = checks:no_third_party_mock
M354 = checks:check_uuid4
M359 = checks:no_translate_logs
paths = ./manila/tests/hacking