ec629c2e0c
This patch imports OVN LB functional tests. Unfortunately neutron hasn't been released yet so for test requirements we need to install it from git, from commit that imports functional base class to neutron [1]. [1] https://review.opendev.org/#/c/701733/ Change-Id: Ia65492db1688f3a3fce22a4432ae8445f67c37b3
147 lines
4.4 KiB
INI
147 lines
4.4 KiB
INI
[tox]
|
|
minversion = 3.1.0
|
|
envlist = docs,py37,pep8
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
|
|
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
|
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
|
PYTHONWARNINGS=default::DeprecationWarning,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:site
|
|
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
sh
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY TOX_ENV_SRC_MODULES
|
|
commands =
|
|
{toxinidir}/tools/pip_install_src_modules.sh "{toxinidir}"
|
|
stestr run {posargs}
|
|
|
|
[testenv:pep8]
|
|
envdir = {toxworkdir}/shared
|
|
commands = flake8
|
|
{toxinidir}/tools/check_unit_test_structure.sh
|
|
{toxinidir}/tools/coding-checks.sh --pylint '{posargs}'
|
|
{[testenv:bandit]commands}
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:functional]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
OS_TEST_PATH=./ovn_octavia_provider/tests/functional
|
|
OS_TEST_TIMEOUT=240
|
|
deps = {[testenv]deps}
|
|
-r{toxinidir}/ovn_octavia_provider/tests/functional/requirements.txt
|
|
|
|
[testenv:dsvm]
|
|
# Fake job to define environment variables shared between dsvm jobs
|
|
setenv = OS_TEST_TIMEOUT=240
|
|
OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs}
|
|
commands = false
|
|
|
|
[testenv:dsvm-functional]
|
|
setenv = {[testenv:functional]setenv}
|
|
{[testenv:dsvm]setenv}
|
|
deps = {[testenv:functional]deps}
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:cover]
|
|
envdir = {toxworkdir}/shared
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source ovn_octavia_provider --parallel-mode
|
|
commands =
|
|
stestr run --no-subunit-trace {posargs}
|
|
coverage combine
|
|
coverage report --fail-under=75 --skip-covered
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:docs]
|
|
envdir = {toxworkdir}/docs
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
envdir = {toxworkdir}/docs
|
|
deps = {[testenv:docs]deps}
|
|
whitelist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:debug]
|
|
envdir = {toxworkdir}/shared
|
|
commands = oslo_debug_helper -t ovn_octavia_provider/tests {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
envdir = {toxworkdir}/docs
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[doc8]
|
|
# File extensions to check
|
|
extensions = .rst
|
|
|
|
[flake8]
|
|
# W504 line break after binary operator
|
|
ignore = W504
|
|
# 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
|
|
# H904: Delay string interpolations at logging calls
|
|
enable-extensions=H106,H203,H204,H205,H904
|
|
show-source = True
|
|
exclude=./.*,dist,doc,*egg*,build,releasenotes
|
|
import-order-style = pep8
|
|
|
|
[hacking]
|
|
import_exceptions = ovn_octavia_provider.i18n
|
|
local-check-factory = neutron_lib.hacking.checks.factory
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv:requirements]
|
|
deps =
|
|
-egit+https://opendev.org/openstack/requirements#egg=openstack-requirements
|
|
whitelist_externals = sh
|
|
commands =
|
|
sh -c '{envdir}/src/openstack-requirements/playbooks/files/project-requirements-change.py --req {envdir}/src/openstack-requirements --local {toxinidir} master'
|
|
|
|
[testenv:bandit]
|
|
envdir = {toxworkdir}/shared
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r ovn_octavia_provider -x tests -n5
|
|
|
|
[testenv:dev]
|
|
# run locally (not in the gate) using editable mode
|
|
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
|
|
commands =
|
|
pip install -q -e "git+https://git.openstack.org/openstack/neutron#egg=neutron"
|
|
{[testenv]commands}
|
|
|
|
[testenv:pep8-dev]
|
|
deps =
|
|
{[testenv]deps}
|
|
commands =
|
|
{[testenv:dev]commands}
|
|
{[testenv:pep8]commands}
|