b4eabc062a
The venv target was inheriting the default deps, which appropriately just includes the main project requirements and our test requirements. We also use venv for reno creation and other miscellaneous things, so it is good to get all potential requirements installed. This adds the installation of our docs requirements in the creation of the venv environment. Change-Id: I8b232116e54e39243a009a195090f12ef1a56bd4 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
202 lines
6.7 KiB
INI
202 lines
6.7 KiB
INI
[tox]
|
|
minversion = 3.1.0
|
|
# python runtimes: https://governance.openstack.org/tc/reference/runtimes/ussuri.html
|
|
envlist = functional-py37,py37,py36,pep8
|
|
skipsdist = True
|
|
skip_missing_interpreters = true
|
|
# this allows tox to infer the base python from the environment name
|
|
# and override any basepython configured in this file
|
|
ignore_basepython_conflict=true
|
|
|
|
[testenv]
|
|
# Set default python version
|
|
basepython = python3
|
|
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 {opts} {packages}
|
|
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
whitelist_externals = bash
|
|
find
|
|
rm
|
|
passenv = *_proxy *_PROXY
|
|
|
|
[testenv:py36]
|
|
commands = stestr run --slowest {posargs}
|
|
|
|
[testenv:py37]
|
|
commands = stestr run --slowest {posargs}
|
|
|
|
[testenv:py38]
|
|
commands = stestr run --slowest {posargs}
|
|
|
|
[testenv:functional]
|
|
# this will use whatever the system python3 is
|
|
setenv =
|
|
TEST_PATH = ./glance/tests/functional
|
|
commands = stestr run {posargs}
|
|
|
|
[testenv:functional-py36]
|
|
setenv = {[testenv:functional]setenv}
|
|
commands = {[testenv:functional]commands}
|
|
|
|
[testenv:functional-py37]
|
|
setenv = {[testenv:functional]setenv}
|
|
commands = {[testenv:functional]commands}
|
|
|
|
[testenv:functional-py38]
|
|
setenv = {[testenv:functional]setenv}
|
|
commands = {[testenv:functional]commands}
|
|
|
|
[testenv:genpolicy]
|
|
basepython = python3
|
|
commands =
|
|
oslopolicy-sample-generator --config-file=etc/glance-policy-generator.conf
|
|
|
|
[testenv:gateonly]
|
|
# NOTE(rosmaita): these tests catch configuration problems for some code
|
|
# constants that must be maintained manually; we have them separated out
|
|
# so they don't affect local development
|
|
# TODO(someone other than me): figure out how to make these changes either
|
|
# automatic or unnecessary
|
|
setenv =
|
|
TEST_PATH = ./glance/tests/gate
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs}
|
|
doc8 {posargs}
|
|
|
|
[testenv:genconfig]
|
|
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]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to docs.openstack.org.
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-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]
|
|
# 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
|
|
# E402 module level import not at top of file
|
|
# 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
|
|
# W503 line break before binary operator - conflicting guidance
|
|
# W504 line break after binary operator - conflicting guidance
|
|
ignore = E402,E711,E712,H404,H405,W503,W504
|
|
exclude = .venv,.git,.tox,dist,doc,etc,*glance/locale*,*lib/python*,*egg,build
|
|
|
|
[hacking]
|
|
import_exceptions = glance.i18n
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
G316 = checks:assert_true_instance
|
|
G317 = checks:assert_equal_type
|
|
G318 = checks:assert_equal_none
|
|
G319 = checks:no_translate_debug_logs
|
|
G320 = checks:no_direct_use_of_unicode_function
|
|
G327 = checks:check_no_contextlib_nested
|
|
G328 = checks:dict_constructor_with_list_copy
|
|
G329 = checks:check_python3_xrange
|
|
G330 = checks:check_python3_no_iteritems
|
|
G331 = checks:check_python3_no_iterkeys
|
|
G332 = checks:check_python3_no_itervalues
|
|
paths = ./glance/hacking
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-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]
|
|
deps =
|
|
{[testenv]deps}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:cover]
|
|
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]
|
|
# this will use whatever the system python3 is
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:debug-py36]
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:debug-py37]
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:debug-py38]
|
|
commands =
|
|
oslo_debug_helper {posargs}
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|