d8ba5b7a81
1. In reviews we usually check import grouping but it is boring. By using flake8-import-order plugin, we can avoid this. It enforces loose checking so it sounds good to use it. This flake8 plugin is already used in tempest. Note that flake8-import-order version is pinned to avoid unexpected breakage of pep8 job. Setup for unit tests of hacking rules is tweaked to disable flake8-import-order checks. This extension assumes an actual file exists and causes hacking rule unit tests. 2. This patch is also intend to clean up exceptions to avoid confusing for other developers and the maintenance-ability as well. Change-Id: I032892f08e073feb5b822d27d092f041b17d57e1
101 lines
3.4 KiB
INI
101 lines
3.4 KiB
INI
[tox]
|
||
envlist = py35,py27,pep8
|
||
minversion = 1.6
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
PYTHONWARNINGS=default::DeprecationWarning
|
||
usedevelop = True
|
||
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
||
deps = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
whitelist_externals = sh
|
||
commands =
|
||
{toxinidir}/tools/ostestr_compat_shim.sh {posargs}
|
||
# there is also secret magic in ostestr which lets you run in a fail only
|
||
# mode. To do this define the TRACE_FAILONLY environmental variable.
|
||
|
||
[testenv:functional]
|
||
deps =
|
||
{[testenv]deps}
|
||
-r{toxinidir}/neutron_vpnaas/tests/functional/requirements.txt
|
||
setenv =
|
||
OS_SUDO_TESTING=1
|
||
OS_ROOTWRAP_CMD=sudo {envdir}/bin/neutron-rootwrap {envdir}/etc/neutron/rootwrap.conf
|
||
OS_ROOTWRAP_DAEMON_CMD=sudo {envdir}/bin/neutron-rootwrap-daemon {envdir}/etc/neutron/rootwrap.conf
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
whitelist_externals =
|
||
sh
|
||
cp
|
||
sudo
|
||
|
||
[testenv:dsvm-functional]
|
||
setenv =
|
||
OS_TEST_PATH=./neutron_vpnaas/tests/functional/openswan
|
||
{[testenv:functional]setenv}
|
||
deps = {[testenv:functional]deps}
|
||
sitepackages=True
|
||
whitelist_externals = {[testenv:functional]whitelist_externals}
|
||
commands =
|
||
{toxinidir}/tools/deploy_rootwrap.sh {toxinidir} {envdir}
|
||
ostestr '{posargs}'
|
||
|
||
[testenv:dsvm-functional-sswan]
|
||
setenv =
|
||
OS_TEST_PATH=./neutron_vpnaas/tests/functional/strongswan
|
||
{[testenv:functional]setenv}
|
||
deps = {[testenv:functional]deps}
|
||
sitepackages=True
|
||
whitelist_externals = {[testenv:functional]whitelist_externals}
|
||
commands =
|
||
{toxinidir}/tools/deploy_rootwrap.sh {toxinidir} {envdir}
|
||
ostestr '{posargs}'
|
||
|
||
[testenv:releasenotes]
|
||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:pep8]
|
||
commands =
|
||
flake8
|
||
pylint --rcfile=.pylintrc --output-format=colorized {posargs:neutron_vpnaas}
|
||
{toxinidir}/tools/check_unit_test_structure.sh
|
||
neutron-db-manage --subproject neutron-vpnaas --database-connection sqlite:// check_migration
|
||
{[testenv:genconfig]commands}
|
||
whitelist_externals = sh
|
||
|
||
[testenv:i18n]
|
||
commands = python ./tools/check_i18n.py ./neutron-vpnaas ./tools/i18n_cfg.py
|
||
|
||
[testenv:cover]
|
||
commands =
|
||
python setup.py test --coverage --coverage-package-name=neutron_vpnaas --testr-args='{posargs}'
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|
||
|
||
[testenv:docs]
|
||
commands = sphinx-build -W -b html doc/source doc/build
|
||
|
||
[flake8]
|
||
# E125 continuation line does not distinguish itself from next logical line
|
||
# E126 continuation line over-indented for hanging indent
|
||
# E128 continuation line under-indented for visual indent
|
||
# E129 visually indented line with same indent as next logical line
|
||
# E265 block comment should start with ‘# ‘
|
||
# H404 multi line docstring should start with a summary
|
||
# H405 multi line docstring summary not separated with an empty line
|
||
# TODO(dougwig) -- uncomment this to test for remaining linkages
|
||
# N530 direct neutron imports not allowed
|
||
ignore = E125,E126,E128,E129,E265,H404,H405,N530,N531
|
||
show-source = true
|
||
exclude = .venv,.git,.tox,dist,doc,.tmp,*lib/python*,*egg,build,tools,.ropeproject,rally-scenarios
|
||
import-order-style = pep8
|
||
|
||
[hacking]
|
||
import_exceptions = neutron_vpnaas._i18n
|
||
local-check-factory = neutron_lib.hacking.checks.factory
|
||
|
||
[testenv:genconfig]
|
||
commands = {toxinidir}/tools/generate_config_file_samples.sh
|