98b2832e4d
As a first step add coverage test as non-voting with a low threshold, and exclude older plugins. Also removing some unused code, and relocating tests-only code, and adding some unit tests to improve coverage. Change-Id: Ib7af0b5de49e1a0ee2927b01f2a5f71acf633fb5
224 lines
7.0 KiB
INI
224 lines
7.0 KiB
INI
[tox]
|
||
envlist = py37,pep8
|
||
minversion = 2.0
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
basepython = python3
|
||
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://opendev.org/openstack/requirements/raw/branch/master/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://opendev.org/openstack/networking-l2gw#egg=networking_l2gw"
|
||
pip install -q -e "git+https://opendev.org/openstack/networking-sfc#egg=networking_sfc"
|
||
pip install -q -e "git+https://opendev.org/openstack/neutron-fwaas#egg=neutron_fwaas"
|
||
pip install -q -e "git+https://opendev.org/openstack/neutron-dynamic-routing#egg=neutron_dynamic_routing"
|
||
pip install -q -e "git+https://opendev.org/openstack/neutron-vpnaas#egg=neutron_vpnaas"
|
||
pip install -q -e "git+https://opendev.org/openstack/octavia#egg=octavia"
|
||
pip install -q -e "git+https://opendev.org/openstack/vmware-nsxlib#egg=vmware_nsxlib"
|
||
pip install -q -e "git+https://opendev.org/openstack/neutron#egg=neutron"
|
||
|
||
|
||
[testenv:functional]
|
||
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]
|
||
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]
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/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:py36]
|
||
basepython = python3.6
|
||
setenv = OS_FAIL_ON_MISSING_DEPS=1
|
||
|
||
[testenv:py37]
|
||
basepython = python3.7
|
||
setenv = OS_FAIL_ON_MISSING_DEPS=1
|
||
|
||
[testenv:py38]
|
||
basepython = python3.8
|
||
setenv = OS_FAIL_ON_MISSING_DEPS=1
|
||
|
||
[testenv:py3-dev]
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:py36-dev]
|
||
basepython = python3.6
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:pep8]
|
||
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}
|
||
{[testenv:genpolicy]commands}
|
||
whitelist_externals =
|
||
sh
|
||
bash
|
||
|
||
[testenv:pep8-dev]
|
||
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
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --subproject vmware-nsx check_migration
|
||
{[testenv:genconfig]commands}
|
||
{[testenv:genpolicy]commands}
|
||
whitelist_externals =
|
||
sh
|
||
|
||
[testenv:bandit]
|
||
commands = bandit -r vmware_nsx -n 5 -ll
|
||
|
||
[testenv:cover]
|
||
basepython = python3.6
|
||
envdir = {toxworkdir}/shared
|
||
setenv = {[testenv]setenv}
|
||
{[testenv:common]setenv}
|
||
PYTHON=coverage run --source vmware_nsx --parallel-mode
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
coverage erase
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
coverage combine
|
||
coverage report --fail-under=65 --skip-covered
|
||
coverage html -d cover
|
||
coverage xml -o cover/coverage.xml
|
||
|
||
[testenv:docs]
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -b html doc/source doc/build/html
|
||
|
||
[flake8]
|
||
# H106: Don't put vim configuration in source files
|
||
# H203: Use assertIs(Not)None to check for None
|
||
# H204: Use assert(Not)Equal to check for equality
|
||
# H205: Use assert(Greater|Less)(Equal) for comparison
|
||
enable-extensions=H106,H203,H204,H205
|
||
# 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
|
||
# W504 line break after binary operator
|
||
ignore = E125,E126,E128,E129,E265,H305,H307,H404,H405,H904,N530,N531,W504
|
||
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:genpolicy]
|
||
commands = oslopolicy-sample-generator --config-file=etc/oslo-policy-generator/policy.conf
|
||
|
||
[testenv:uuidgen]
|
||
commands =
|
||
check-uuid --fix
|
||
|
||
[testenv:lower-constraints]
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
-r{toxinidir}/requirements.txt
|
||
|
||
[testenv:lower-constraints-dev]
|
||
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
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|
||
|
||
[testenv:requirements-check-dev]
|
||
commands =
|
||
pip install -q -e "git+https://opendev.org/openstack/requirements#egg=requirements"
|
||
pip freeze
|
||
# must have openstack/requirements on latest src/master in ../requirements
|
||
{toxinidir}/../requirements/playbooks/files/project-requirements-change.py --reqs={toxinidir}/../requirements {toxinidir}
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
-r{toxinidir}/requirements.txt
|