
We want to run with python3 always with python2 being the exception. Update the functional tests to be python3 by default with a python2 job to check compat. Remove python3.5 jobs, since that's covered by python3.6 and the differences between 3.5 and 3.6 are covered by also having 2.7 in the gate. Similarly, make the tips jobs python 3.6 only because they are jobs that aim to ensure interactions between openstacksdk and keystoneauth and os-client-config and shade are correct at the unit test level. The individual unit tests should catch actual python 2.7 issues. Remove cover jobs because we historically haven't cared about the output and they take up test nodes. In general it's not that big of a deal, but we tend to be patch-heavy around here, so it feels extravagant to run a job we don't actually care about the output of. Split advanced networking services into a job We're hitting timeouts like crazy- maybe we're just running low on resources. Split octavia and designate into their own job. Turn swift off in that job. Skip sdk layer dns functional tests when designate is not present. We should refactor these to deal with both cases. Change-Id: Ica5a47cc200c8abff1d20af9883c5192fcbb95e1
112 lines
3.3 KiB
INI
112 lines
3.3 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = py35,py36,py27,pep8
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
passenv = OS_* OPENSTACKSDK_*
|
|
basepython = {env:OPENSTACKSDK_TOX_PYTHON:python3}
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
LANG=en_US.UTF-8
|
|
LANGUAGE=en_US:en
|
|
LC_ALL=C
|
|
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
|
|
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
|
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands = stestr run {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:examples]
|
|
commands = stestr --test-path ./openstack/tests/examples run {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:functional]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
OS_TEST_TIMEOUT=90
|
|
commands = stestr --test-path ./openstack/tests/functional/{env:OPENSTACKSDK_TESTS_SUBDIR:} run --serial {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:pep8]
|
|
usedevelop = False
|
|
skip_install = True
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
doc8
|
|
hacking
|
|
pygments
|
|
readme
|
|
commands =
|
|
doc8 doc/source
|
|
python setup.py check -r -s
|
|
flake8
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:debug]
|
|
whitelist_externals = find
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source openstack --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:ansible]
|
|
# Need to pass some env vars for the Ansible playbooks
|
|
basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2}
|
|
passenv = HOME USER ANSIBLE_VAR_*
|
|
deps =
|
|
{[testenv]deps}
|
|
ansible
|
|
commands = {toxinidir}/extras/run-ansible-tests.sh -e {envdir} {posargs}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html
|
|
|
|
[testenv:releasenotes]
|
|
usedevelop = False
|
|
skip_install = True
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
# The following are ignored on purpose. It's not super worth it to fix them.
|
|
# However, if you feel strongly about it, patches will be accepted to fix them
|
|
# if they fix ALL of the occurances of one and only one of them.
|
|
# H306 Is about alphabetical imports - there's a lot to fix.
|
|
# H4 Are about docstrings and there's just a huge pile of pre-existing issues.
|
|
# W503 Is supposed to be off by default but in the latest pycodestyle isn't.
|
|
# Also, both openstacksdk and Donald Knuth disagree with the rule. Line
|
|
# breaks should occur before the binary operator for readability.
|
|
ignore = H306,H4,W503
|
|
show-source = True
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
|
|
|
[doc8]
|
|
extensions = .rst, .yaml
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|