ovn-octavia-provider/tox.ini
Maciej Józefczyk ec629c2e0c Import OVN LB functional tests
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
2020-02-24 08:15:13 +00:00

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}