Merge "Refactor tox.ini to match OpenStack Project Testing Interface"

This commit is contained in:
Zuul 2019-04-24 11:50:47 +00:00 committed by Gerrit Code Review
commit 00176b28b2
1 changed files with 94 additions and 86 deletions

180
tox.ini
View File

@ -1,130 +1,72 @@
[tox]
envlist = pep8,pylint,py36,py27
minversion = 2.0
minversion = 2.3.2
[tobiko]
# --- unit test environments -------------------------------------------------
[base]
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/extra-requirements.txt
passenv =
setenv =
VIRTUAL_ENV={envdir}
PYTHONWARNINGS=ignore::Warning,{env:PYTHONWARNINGS:}
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
PYTHON=python
commands =
stestr run --black-regex "{env:OS_BLACK_REGEX:}" {posargs}
[testenv]
commands =
find . -type f -name ".coverage*" -delete
find . -type f -name "*.pyc" -delete
coverage erase
stestr --test-path ./tobiko/tests run --black-regex 'scenario' {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
find . -type f -name ".coverage*" -delete
deps =
{[tobiko]deps}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/extra-requirements.txt
setenv =
{[tobiko]setenv}
PYTHON=coverage run --source tobiko --parallel-mode
usedevelop = True
whitelist_externals=
find
[testenv:neutron]
commands =
stestr --test-path ./tobiko/tests/scenario/neutron run {posargs}
deps =
{[tobiko]deps}
-r{toxinidir}/neutron-requirements.txt
{[base]deps}
-r{toxinidir}/test-requirements.txt
passenv = {[base]passenv}
setenv =
{[tobiko]setenv}
PYTHON=python
{[base]setenv}
OS_BLACK_REGEX=tobiko.tests.scenario
passenv =
http_proxy
https_proxy
no_proxy
OS_USER_DOMAIN_NAME
OS_IMAGE_API_VERSION
OS_PROJECT_NAME
OS_IDENTITY_API_VERSION
OS_PASSWORD
OS_AUTH_TYPE
OS_AUTH_URL
OS_USERNAME
OS_VOLUME_API_VERSION
OS_NO_CACHE
OS_CLOUDNAME
OS_PROJECT_DOMAIN_NAME
commands = {[base]commands}
[testenv:venv]
basepython = python3
commands =
{posargs}
deps =
{[testenv]deps}
{[testenv:neutron]deps}
setenv =
{[tobiko]setenv}
PYTHON=python
# --- static analisys environments -------------------------------------------
[testenv:pep8]
basepython = python3
commands =
flake8
commands = flake8
deps =
{[testenv]deps}
{[testenv:neutron]deps}
-r{toxinidir}/pep8-requirements.txt
setenv =
{[tobiko]setenv}
PYTHON=python
-r{toxinidir}/pylint-requirements.txt
[testenv:pylint]
envdir = {toxworkdir}/pep8
basepython = python3
commands =
pylint -j0 -E --rcfile=.pylintrc -e W,E tobiko
commands = pylint -j0 -E --rcfile=.pylintrc -e W,E tobiko
deps =
{[testenv]deps}
{[testenv:neutron]deps}
-r{toxinidir}/pylint-requirements.txt
deps = {[testenv:pep8]deps}
setenv =
{[tobiko]setenv}
PYTHON=python
[testenv:releasenotes]
basepython = python3
deps = -r{toxinidir}/docs/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]
# E125 continuation line does not distinguish itself from next logical line
@ -144,3 +86,69 @@ enable-extensions = H106,H203,H904
show-source = true
exclude = ./.*,build,dist,doc,*egg*,releasenotes
import-order-style = pep8
# --- integration test environments ------------------------------------------
[openstack]
deps = {[base]deps}
passenv = {[base]passenv}
*_proxy
OS_*
setenv = {[base]setenv}
commands = {[base]commands}
[testenv:scenario]
deps = {[openstack]deps}
passenv = {[openstack]passenv}
setenv = {[openstack]setenv}
OS_TEST_PATH={toxinidir}/tobiko/tests/scenario
[testenv:neutron]
envdir = {toxworkdir}/scenario
deps = {[testenv:scenario]deps}
passenv = {[testenv:scenario]passenv}
setenv = {[testenv:scenario]setenv}
OS_TEST_PATH={toxinidir}/tobiko/tests/scenario/neutron
# --- documentation environments ---------------------------------------------
[testenv:releasenotes]
basepython = python3
deps = -r{toxinidir}/docs/requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
# --- other envs -------------------------------------------------------------
[testenv:venv]
basepython = python3
commands = {posargs}
deps = {[openstack]deps}
setenv = {[openstack]setenv}
passenv = {[openstack]setenv}