Files
designate/tox.ini
Takashi Kajinami 6869f4d5bd Drop hacking check for old code structure
The designate.openstack.common module was removed long time ago (in
4.0.0 release), and checking usage of the removed module is just
useless.

Change-Id: I7d46f2867da6ecbefd7e7823397f964f52075f40
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-08-30 07:06:09 +09:00

190 lines
5.9 KiB
INI

[tox]
minversion = 3.18.0
envlist = py3,flake8
[testenv]
setenv =
VIRTUAL_ENV={envdir}
LANGUAGE=C.UTF-8
LC_ALL=C.UTF-8
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:180}
PYTHONDONTWRITEBYTECODE=1
PYTHONWARNINGS=default::DeprecationWarning,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:site
passenv =
http_proxy
HTTP_PROXY
https_proxy
HTTPS_PROXY
no_proxy
NO_PROXY
OS_DEBUG
usedevelop = True
install_command =
pip install {opts} {packages}
commands =
find . -type f -name "*.py[c|o]" -delete
rm -f .testrepository/times.dbm
stestr run {posargs}
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
allowlist_externals =
sh
find
rm
[testenv:docs]
allowlist_externals =
rm
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
[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:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source designate --parallel-mode
commands =
coverage erase
find . -type f -name "*.pyc" -delete
stestr run --no-subunit-trace {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report --fail-under=98 --skip-covered
[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r designate -n5 -x 'designate/tests/*' -t \
B505,B504,B503,B502,B501,B604,B605,B001,B601,B602,B701,B609,B702,\
B608,B506,B312,B310,B411,B108,B103,B102,B308,B302,B307,B306
[testenv:debug]
commands = oslo_debug_helper -t designate/tests {posargs}
[testenv:flake8]
deps = -r{toxinidir}/test-requirements.txt
commands =
flake8
{[testenv:bandit]commands}
[testenv:pep8]
skip_install = true
deps = -r{toxinidir}/test-requirements.txt
allowlist_externals = bash
commands =
flake8
{[testenv:bandit]commands}
doc8 {posargs}
{[testenv:bashate]commands}
[testenv:genconfig]
commands = oslo-config-generator --config-file=etc/designate/designate-config-generator.conf
[testenv:genpolicy]
commands = oslopolicy-sample-generator --config-file etc/designate/designate-policy-generator.conf
[testenv:bashate]
deps = -r{toxinidir}/test-requirements.txt
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 \
-not -name \*.sql \
\( \
-name \*.sh -or \
-name \*rc -or \
-name functions\* -or \
-wholename \*/lib/\* -or \
-wholename \*/designate_plugins/\* \
\) \
-print0 | xargs -0 bashate -v -iE006 -eE005,E042"
[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:api-ref]
# This environment is called from CI scripts to test and publish
# the API Ref to docs.openstack.org.
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf api-ref/build
sphinx-build -E -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[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 -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:venv]
commands = {posargs}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/doc/requirements.txt
[doc8]
ignore-path = .venv,.git,.tox,*designate/locale*,*lib/python*,*designate.egg*,api-ref/build,doc/build,doc/source/contributor/api
[flake8]
# ignored flake8 codes:
# H105 don't use author tags. We use version control instead
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
# H501 Do not use locals() or self.__dict__ for string formatting.
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
# W504 line break after binary operator
ignore = H105,H404,H405,H501,E126,E128,W504
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,.ropeproject
[hacking]
import_exceptions = designate.i18n
[flake8:local-plugins]
extension =
D701 = checks:mutable_default_arguments
D703 = checks:check_explicit_underscore_import
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/hacking
[testenv:dnspython-latest]
commands =
python -m pip install -U dnspython --pre
{[testenv]commands}