glance/tox.ini
Abhishek Kekane d07187f710 Remove migration constant job and test
Since openstack release naming conventions has changed, current test
which check data migration version will not work as expected and same
is also blocking our gate. Removing this job and test to unblock the
gate.

NOTE: Going forward glance PTL/team needs to change the database
migration version without fail at the start of release cycle.

Change-Id: Idcb12a6c450d4ce4ee859e6e1f02fb71adf8c1d5
2023-01-16 14:40:29 +00:00

174 lines
5.7 KiB
INI

[tox]
minversion = 3.18.0
# python runtimes: https://governance.openstack.org/tc/reference/runtimes/ussuri.html
envlist = functional-py39,py39,pep8
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 = python -m pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands =
find . -type f -name "*.pyc" -delete
stestr run --slowest {posargs}
allowlist_externals = bash
find
rm
passenv =
*_proxy
*_PROXY
[testenv:functional]
# this will use whatever the system python3 is
setenv =
TEST_PATH = ./glance/tests/functional
commands = stestr run {posargs}
[testenv:functional-py38]
setenv = {[testenv:functional]setenv}
commands = {[testenv:functional]commands}
[testenv:functional-py39]
setenv = {[testenv:functional]setenv}
commands = {[testenv:functional]commands}
[testenv:functional-py38-rbac]
setenv =
{[testenv:functional]setenv}
OS_GLANCE_TEST_RBAC_DEFAULTS = True
commands = {[testenv:functional]commands}
[testenv:functional-py39-rbac]
setenv =
{[testenv:functional]setenv}
OS_GLANCE_TEST_RBAC_DEFAULTS = True
commands = {[testenv:functional]commands}
[testenv:genpolicy]
basepython = python3
commands =
oslopolicy-sample-generator --config-file=etc/glance-policy-generator.conf
[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-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 =
-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,.eggs,*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
enable-extensions = H904
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
G327 = checks:check_no_contextlib_nested
G328 = checks:dict_constructor_with_list_copy
G330 = checks:no_log_warn
paths = ./glance/hacking
[testenv:docs]
deps =
-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 =
-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-py38]
commands =
oslo_debug_helper {posargs}
[testenv:debug-py39]
commands =
oslo_debug_helper {posargs}