| [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 |
| |