2633ec0607
This patch is part of the community goals to enable python 3 first, and only use python 2 when explict. To do so, this patch: - Makes python 3 the default env for non py27 tox targets. - Adds a py3-dev target for running py3 locally. - Refactors the pip install commands for stable dependency install into their own target and refs them where needed. - Updates the code to pass pep8 in python 3. - Bumps the version of pylint to 1.7.1 to address some py3 issues in earlier versions. As part of this effort we should also look into making python 3 the default for our VMware NSX 3rd party CI jobs. Change-Id: Ibaa3e9d717f32ffb6479346163c14d4be7df50cf
186 lines
5.8 KiB
INI
186 lines
5.8 KiB
INI
[tox]
|
||
envlist = py35,py27,pep8,docs
|
||
minversion = 1.6
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
PYTHONWARNINGS=default::DeprecationWarning
|
||
passenv = TRACE_FAILONLY GENERATE_HASHES http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
||
usedevelop = True
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||
-r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
whitelist_externals =
|
||
sh
|
||
stestr
|
||
commands =
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
|
||
[testenv:common]
|
||
# Fake job to define environment variables shared between dsvm/non-dsvm jobs
|
||
setenv = OS_TEST_TIMEOUT=180
|
||
commands = false
|
||
|
||
[testenv:dev]
|
||
# run locally (not in the gate) using editable mode
|
||
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
|
||
# note that order is important to ensure dependencies don't override
|
||
commands =
|
||
pip install -q -e "git+https://git.openstack.org/openstack/networking-l2gw#egg=networking_l2gw"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/networking-sfc#egg=networking_sfc"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-lbaas#egg=neutron_lbaas"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-fwaas#egg=neutron_fwaas"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-dynamic-routing#egg=neutron_dynamic_routing"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-vpnaas#egg=neutron_vpnaas"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/vmware-nsxlib#egg=vmware_nsxlib"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron#egg=neutron"
|
||
|
||
|
||
[testenv:functional]
|
||
basepython = python3
|
||
setenv = {[testenv]setenv}
|
||
{[testenv:common]setenv}
|
||
OS_TEST_PATH=./vmware_nsx/tests/functional
|
||
OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs}
|
||
deps =
|
||
{[testenv]deps}
|
||
-r{toxinidir}/vmware_nsx/tests/functional/requirements.txt
|
||
|
||
[testenv:dsvm-functional]
|
||
basepython = python3
|
||
setenv = OS_SUDO_TESTING=1
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
OS_TEST_TIMEOUT=180
|
||
sitepackages=True
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
commands =
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
|
||
[tox:jenkins]
|
||
sitepackages = True
|
||
|
||
[testenv:releasenotes]
|
||
basepython = python3
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:py27]
|
||
setenv = OS_FAIL_ON_MISSING_DEPS=1
|
||
|
||
[testenv:py27-dev]
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:py3-dev]
|
||
basepython = python3
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:pep8]
|
||
basepython = python3
|
||
commands =
|
||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||
sh ./tools/misc-sanity-checks.sh
|
||
# Checks for coding and style guidelines
|
||
flake8
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --subproject vmware-nsx check_migration
|
||
{[testenv:genconfig]commands}
|
||
whitelist_externals =
|
||
sh
|
||
bash
|
||
|
||
[testenv:pep8-dev]
|
||
basepython = python3
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||
sh ./tools/misc-sanity-checks.sh
|
||
# Checks for coding and style guidelines
|
||
flake8 {toxinidir}/vmware_nsx
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --subproject vmware-nsx check_migration
|
||
{[testenv:genconfig]commands}
|
||
whitelist_externals =
|
||
sh
|
||
|
||
[testenv:bandit]
|
||
commands = bandit -r vmware_nsx -n 5 -ll
|
||
|
||
[testenv:cover]
|
||
basepython = python3
|
||
commands =
|
||
python setup.py testr --coverage --testr-args='{posargs}'
|
||
coverage report
|
||
|
||
[testenv:docs]
|
||
basepython = python3
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -b html doc/source doc/build/html
|
||
|
||
[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 ‘# ‘
|
||
# H305 imports not grouped correctly
|
||
# H307 like imports should be grouped together
|
||
# 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
|
||
# TODO(dougwig) -- uncomment this to test for remaining linkages
|
||
# N530 direct neutron imports not allowed
|
||
# N531 translations hints
|
||
ignore = E125,E126,E128,E129,E265,H305,H307,H404,H405,H904,N530,N531
|
||
show-source = true
|
||
builtins = _
|
||
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject
|
||
import-order-style = pep8
|
||
|
||
[hacking]
|
||
import_exceptions = vmware_nsx._i18n,
|
||
local-check-factory = neutron_lib.hacking.checks.factory
|
||
|
||
[testenv:genconfig]
|
||
commands = {toxinidir}/tools/generate_config_file_samples.sh
|
||
|
||
[testenv:uuidgen]
|
||
commands =
|
||
check-uuid --fix
|
||
|
||
[testenv:lower-constraints]
|
||
basepython = python3
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
-r{toxinidir}/requirements.txt
|
||
|
||
[testenv:lower-constraints-dev]
|
||
basepython = python3
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
-r{toxinidir}/requirements.txt
|