Alexander Bashmakov c07969b439 Fix and enable two funcitonal tests on py35.
Fixed test_api and test_glance_manage functional tests to work on
python3.5. All of the changes are related to decoding of bytes
objects into strings and sorting of json dictionaries.
Enabled the tests in tox.ini.

Change-Id: I5bfcb34956aaf82beaa5e286f2569ccaac5ad32a
2017-03-23 21:58:49 +00:00

107 lines
4.6 KiB
INI

[tox]
minversion = 2.3.1
envlist = py35,py27,pep8
skipsdist = True
[testenv]
basepython =
{py27,debug-py27,debug,venv,cover,docs,bandit,pep8,api-ref,genconfig,releasenotes}: python2.7
{py35,debug-py35}: python3.5
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 =
bandit: bandit -c bandit.yaml -r glance -n5 -p gate
cover: python setup.py testr --coverage --testr-args='^(?!.*test.*coverage).*$'
debug: oslo_debug_helper {posargs}
debug{-py27,-py35}: oslo_debug_helper {posargs}
docs: python setup.py build_sphinx
py27: ostestr --slowest {posargs}
releasenotes: sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
venv: {posargs}
whitelist_externals = bash
passenv = *_proxy *_PROXY
[testenv:py35]
commands =
lockutils-wrapper python setup.py testr --slowest --testr-args='glance.tests.unit'
python -m testtools.run \
glance.tests.functional.test_cache_middleware \
glance.tests.functional.test_api \
glance.tests.functional.test_client_redirects \
glance.tests.functional.test_glance_manage \
glance.tests.functional.test_gzip_middleware \
glance.tests.functional.test_healthcheck_middleware \
glance.tests.functional.test_client_exceptions \
glance.tests.functional.test_sqlite \
glance.tests.functional.test_cors_middleware \
glance.tests.functional.test_glance_replicator \
glance.tests.functional.test_scrubber \
glance.tests.functional.test_logging \
glance.tests.functional.test_bin_glance_cache_manage \
glance.tests.functional.db.test_simple \
glance.tests.functional.db.test_sqlalchemy \
glance.tests.functional.db.test_rpc_endpoint \
glance.tests.functional.v1.test_api \
glance.tests.functional.v1.test_copy_to_file \
glance.tests.functional.v1.test_misc \
glance.tests.functional.v1.test_multiprocessing \
glance.tests.functional.v2.test_metadef_objects \
glance.tests.functional.v2.test_schemas \
glance.tests.functional.v2.test_metadef_properties \
glance.tests.functional.v2.test_metadef_resourcetypes \
glance.tests.functional.v2.test_metadef_tags \
glance.tests.functional.v2.test_images \
glance.tests.functional.v2.test_metadef_namespaces
[testenv:pep8]
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"
[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
[testenv:api-ref]
# This environment is called from CI scripts to test and publish
# the API Ref to developer.openstack.org.
#
whitelist_externals = bash
rm
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
[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