glance/tox.ini
Victor Stinner e766b9e47f Fix tox -e py34
* Add requirements-py3.txt: get the master branch of glance_store from
  github until a new release of glance_store including all my Python 3
  fixed will be released.
* Add test-requirements-py3.txt: remove qpid-python and MySQL-python
  (not compatible with Python 3), add PyMySQL
* tox.ini: add py34 test environment running tests with testtools.run.
  Use a whitelist of tests which are known to pass on Python 3.4. testr
  cannot be used because it loads all tests, and not all tests are
  compatible with Python 3.4 yet.

Change-Id: If19af8351e9497db26c9cd62393d22d2043a3903
2015-06-19 14:33:19 +02:00

84 lines
3.0 KiB
INI

[tox]
minversion = 1.6
envlist = py27,py33,py34,pep8
skipsdist = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = lockutils-wrapper python setup.py testr --slowest --testr-args='{posargs}'
whitelist_externals = bash
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[tox:jenkins]
downloadcache = ~/cache/pip
[testenv:py34]
deps = -r{toxinidir}/requirements-py3.txt
-r{toxinidir}/test-requirements-py3.txt
commands =
python -m testtools.run \
glance.tests.unit.common.test_client \
glance.tests.unit.common.test_property_utils \
glance.tests.unit.common.test_scripts \
glance.tests.unit.common.test_swift_store_utils \
glance.tests.unit.test_artifacts_plugin_loader \
glance.tests.unit.test_auth \
glance.tests.unit.test_cached_images \
glance.tests.unit.test_context \
glance.tests.unit.test_context_middleware \
glance.tests.unit.test_domain \
glance.tests.unit.test_domain_proxy \
glance.tests.unit.test_gateway \
glance.tests.unit.test_image_cache_client \
glance.tests.unit.test_jsonpatchmixin \
glance.tests.unit.test_manage \
glance.tests.unit.test_notifier \
glance.tests.unit.test_opts \
glance.tests.unit.test_schema \
glance.tests.unit.test_scrubber \
glance.tests.unit.test_store_artifact \
glance.tests.unit.test_store_location
[testenv:pep8]
commands =
flake8 {posargs}
# 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:cover]
setenv = VIRTUAL_ENV={envdir}
commands = python setup.py testr --coverage --testr-args='^(?!.*test.*coverage).*$'
[testenv:venv]
commands = {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
[testenv:docs]
commands = python setup.py build_sphinx
[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:'
# H302 import only modules
# H402 one line docstring needs punctuation.
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
# H904 Wrap long lines in parentheses instead of a backslash
ignore = E711,E712,H302,H402,H404,H405,H904
exclude = .venv,.git,.tox,dist,doc,etc,*glance/locale*,*openstack/common*,*lib/python*,*egg,build
[hacking]
local-check-factory = glance.hacking.checks.factory