f3496591ae
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: Ic9645685e0f9ae25b0b2b754b11e34d8aef41829 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
180 lines
6.0 KiB
INI
180 lines
6.0 KiB
INI
[tox]
|
|
minversion = 2.3.1
|
|
envlist = py35,functional-py35,py27,functional,pep8
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
# Set default python version
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
# NOTE(hemanthm): The environment variable "OS_TEST_DBAPI_ADMIN_CONNECTION"
|
|
# must be set to force oslo.db tests to use a file-based sqlite database
|
|
# instead of the default in-memory database, which doesn't work well with
|
|
# alembic migrations. The file-based database pointed by the environment
|
|
# variable itself is not used for testing. Neither is it ever created. Oslo.db
|
|
# creates another file-based database for testing purposes and deletes it as a
|
|
# part of its test clean-up. Think of setting this environment variable as a
|
|
# clue for oslo.db to use file-based database.
|
|
OS_TEST_DBAPI_ADMIN_CONNECTION=sqlite:////tmp/placeholder-never-created-nor-used.db
|
|
usedevelop = True
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
whitelist_externals = bash
|
|
find
|
|
rm
|
|
passenv = *_proxy *_PROXY
|
|
|
|
[testenv:py27]
|
|
commands = ostestr --slowest {posargs}
|
|
|
|
[testenv:py35]
|
|
basepython = python3.5
|
|
commands = ostestr --slowest {posargs}
|
|
|
|
[testenv:functional]
|
|
setenv =
|
|
TEST_PATH = ./glance/tests/functional
|
|
ignore_errors = True
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:functional-py35]
|
|
basepython = python3.5
|
|
setenv =
|
|
TEST_PATH = ./glance/tests/functional
|
|
ignore_errors = True
|
|
whitelist_externals =
|
|
bash
|
|
commands =
|
|
stestr run --blacklist-file ./broken-functional-py35-ssl-tests.txt {posargs}
|
|
|
|
[testenv:broken-py35-ssl-tests]
|
|
# NOTE(rosmaita): these tests were being skipped due to bug #1482633, but we
|
|
# want it to be obvious that Glance is affected by the eventlet ssl-handshake
|
|
# problem under py35. (When this testenv is removed, don't forget to adjust
|
|
# the blacklist generation in the functional-py35 testenv.)
|
|
basepython = python3.5
|
|
setenv =
|
|
TEST_PATH = ./glance/tests/functional
|
|
commands =
|
|
stestr run --whitelist-file ./broken-functional-py35-ssl-tests.txt {posargs}
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
commands =
|
|
flake8 {posargs}
|
|
# Run security linter
|
|
bandit -c bandit.yaml -r glance -n5 -p gate
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find glance -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
doc8 {posargs}
|
|
|
|
[testenv:genconfig]
|
|
basepython = python3
|
|
commands =
|
|
oslo-config-generator --config-file etc/oslo-config-generator/glance-api.conf
|
|
oslo-config-generator --config-file etc/oslo-config-generator/glance-registry.conf
|
|
oslo-config-generator --config-file etc/oslo-config-generator/glance-scrubber.conf
|
|
oslo-config-generator --config-file etc/oslo-config-generator/glance-cache.conf
|
|
oslo-config-generator --config-file etc/oslo-config-generator/glance-manage.conf
|
|
oslo-config-generator --config-file etc/oslo-config-generator/glance-image-import.conf
|
|
|
|
[testenv:api-ref]
|
|
basepython = python3
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to developer.openstack.org.
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
|
|
[testenv:bindep]
|
|
basepython = python3
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files, and develop mode disabled
|
|
# explicitly to avoid unnecessarily installing the checked-out repo too (this
|
|
# further relies on "tox.skipsdist = True" above).
|
|
deps = bindep
|
|
commands = bindep test
|
|
usedevelop = False
|
|
|
|
[doc8]
|
|
ignore-path = .venv,.git,.tox,*glance/locale*,*lib/python*,glance.egg*,api-ref/build,doc/build,doc/source/contributor/api,doc/test
|
|
|
|
[flake8]
|
|
# TODO(dmllr): Analyze or fix the warnings blacklisted below
|
|
# E711 comparison to None should be 'if cond is not None:'
|
|
# E712 comparison to True should be 'if cond is True:' or 'if cond:'
|
|
# H404 multi line docstring should start with a summary
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
ignore = E711,E712,H404,H405
|
|
exclude = .venv,.git,.tox,dist,doc,etc,*glance/locale*,*lib/python*,*egg,build
|
|
|
|
[hacking]
|
|
local-check-factory = glance.hacking.checks.factory
|
|
import_exceptions = glance.i18n
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -fr doc/build
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
whereto doc/source/_extra/.htaccess doc/test/redirect-tests.txt
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
commands = bandit -c bandit.yaml -r glance -n5 -p gate
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/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:cover]
|
|
basepython = python3
|
|
setenv =
|
|
PYTHON=coverage run --source glance --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:debug]
|
|
basepython = python3
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:debug-py27]
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:debug-py35]
|
|
basepython = python3.5
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:lower-constraints]
|
|
basepython = python3
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|