4d257b3abf
This patch updates the version of hacking to be consistent with designate. It is required for flake8 to understand f-strings correctly. Along with this version update, the patch fixes issues in the code found by the new versions. This patch also disables two flake8 plugins from tempest T110 and T111 as they are not compatible with the newer version of flake8. They can be re-enabled once tempest updates to a newer hacking version and fixes these issues. Change-Id: Ia8153724e28cd0ce032d77ff08b4c35f75a1dfc8
121 lines
4.4 KiB
INI
121 lines
4.4 KiB
INI
[tox]
|
|
minversion = 3.18.0
|
|
envlist = pep8
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
allowlist_externals = sh
|
|
find
|
|
rm
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
stestr run {posargs}
|
|
passenv = http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
OS_DEBUG
|
|
OS_LOG_CAPTURE
|
|
OS_STDERR_CAPTURE
|
|
OS_STDOUT_CAPTURE
|
|
|
|
[testenv:pep8]
|
|
commands = sh tools/pretty_flake8.sh
|
|
|
|
[testenv:docs]
|
|
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = rm -rf doc/build
|
|
sphinx-build -E -W -b html doc/source doc/build/html
|
|
|
|
[testenv:releasenotes]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals = rm
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:bashate]
|
|
deps = bashate
|
|
allowlist_externals = bash
|
|
commands = bash -c "find {toxinidir}/devstack \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-not \( -type d -name doc -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
\( \
|
|
-name \*.sh -or \
|
|
-name \*rc -or \
|
|
-name functions\* -or \
|
|
-wholename \*/lib/\* \
|
|
\) \
|
|
-print0 | xargs -0 bashate -v"
|
|
|
|
[testenv:pip-check-reqs]
|
|
# do not install test-requirements as that will pollute the virtualenv for
|
|
# determining missing packages
|
|
# this also means that pip-missing-reqs must be installed separately, outside
|
|
# of the requirements.txt files
|
|
deps = pip-check-reqs
|
|
-r{toxinidir}/requirements.txt
|
|
commands=pip-missing-reqs -d --ignore-file=designate/tests/* designate
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
# ignored flake8 codes:
|
|
# H302 import only modules
|
|
# H306 imports not in alphabetical order
|
|
# H402 one line docstring needs punctuation
|
|
# H404 multi line docstring should start with a summary
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
# H904 Wrap long lines in parentheses instead of a backslash
|
|
# E126 continuation line over-indented for hanging indent
|
|
# E128 continuation line under-indented for visual indent
|
|
# W504 line break after binary operator
|
|
ignore = H302,H306,H402,H404,H405,H904,E126,E128,W504
|
|
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*openstack/deprecated*,*lib/python*,*egg,build,tools,.ropeproject
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
T102 = tempest.hacking.checks:import_no_clients_in_api_and_scenario_tests
|
|
T104 = tempest.hacking.checks:scenario_tests_need_service_tags
|
|
T105 = tempest.hacking.checks:no_setup_teardown_class_for_tests
|
|
T107 = tempest.hacking.checks:service_tags_not_in_module_path
|
|
T108 = tempest.hacking.checks:no_hyphen_at_end_of_rand_name
|
|
N322 = tempest.hacking.checks:no_mutable_default_args
|
|
T109 = tempest.hacking.checks:no_testtools_skip_decorator
|
|
# TODO(johnsom) Re-enable these once tempest updates hacking to > 3.1.0
|
|
# T110 = tempest.hacking.checks:get_resources_on_service_clients
|
|
# T111 = tempest.hacking.checks:delete_resources_on_service_clients
|
|
T112 = tempest.hacking.checks:dont_import_local_tempest_into_lib
|
|
T113 = tempest.hacking.checks:dont_use_config_in_tempest_lib
|
|
T114 = tempest.hacking.checks:use_rand_uuid_instead_of_uuid4
|
|
D701 = checks:mutable_default_arguments
|
|
D703 = checks:check_explicit_underscore_import
|
|
D704 = checks:no_import_graduated_oslo_libraries
|
|
D705 = checks:use_timeutils_utcnow
|
|
D706 = checks:no_translate_debug_logs
|
|
D707 = checks:check_no_basestring
|
|
D708 = checks:check_python3_xrange
|
|
D709 = checks:check_no_log_audit
|
|
D710 = checks:check_no_log_warn
|
|
D711 = checks:check_line_continuation_no_backslash
|
|
paths = ./designate_tempest_plugin/hacking
|
|
|