glance/tox.ini
Drew Varner b52e0126cb Automated bandit checks in glance
Set up automated bandit checks using tox. These tests are intended to be
eventually suitable as automated gate tests.

Currently, several tests are disabled (and labeled with a TODO to enable
them). A future commit for each test will enable that test, fix all
associated false positives, and fix all associated real positives.

Change-Id: I290992be027eac180b3a0dfcf601465079c2915c
Partial-bug: 1511862
2015-11-30 09:58:28 -06:00

157 lines
5.9 KiB
INI

[tox]
minversion = 1.6
envlist = py27,py33,py34,pep8
skipsdist = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
usedevelop = True
install_command =
constraints: {[testenv:common-constraints]install_command}
pip install -U {opts} {packages}
deps = -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:common-constraints]
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:py34]
commands =
python -m testtools.run \
glance.tests.unit.api.middleware.test_cache_manage \
glance.tests.unit.api.test_cmd \
glance.tests.unit.api.test_cmd_cache_manage \
glance.tests.unit.api.test_common \
glance.tests.unit.api.test_property_protections \
glance.tests.unit.async.flows.test_convert \
glance.tests.unit.async.flows.test_import \
glance.tests.unit.async.flows.test_introspect \
glance.tests.unit.async.test_async \
glance.tests.unit.async.test_taskflow_executor \
glance.tests.unit.common.scripts.image_import.test_main \
glance.tests.unit.common.scripts.test_scripts_utils \
glance.tests.unit.common.test_client \
glance.tests.unit.common.test_config \
glance.tests.unit.common.test_exception \
glance.tests.unit.common.test_location_strategy \
glance.tests.unit.common.test_property_utils \
glance.tests.unit.common.test_rpc \
glance.tests.unit.common.test_scripts \
glance.tests.unit.common.test_semver \
glance.tests.unit.common.test_signature_utils \
glance.tests.unit.common.test_swift_store_utils \
glance.tests.unit.common.test_utils \
glance.tests.unit.common.test_wsgi \
glance.tests.unit.common.test_wsgi_ipv6 \
glance.tests.unit.test_artifact_type_definition_framework \
glance.tests.unit.test_artifacts_plugin_loader \
glance.tests.unit.test_auth \
glance.tests.unit.test_cache_middleware \
glance.tests.unit.test_cached_images \
glance.tests.unit.test_context \
glance.tests.unit.test_context_middleware \
glance.tests.unit.test_db \
glance.tests.unit.test_db_metadef \
glance.tests.unit.test_domain \
glance.tests.unit.test_domain_proxy \
glance.tests.unit.test_glance_replicator \
glance.tests.unit.test_image_cache \
glance.tests.unit.test_image_cache_client \
glance.tests.unit.test_jsonpatchmixin \
glance.tests.unit.test_manage \
glance.tests.unit.test_migrations \
glance.tests.unit.test_misc \
glance.tests.unit.test_notifier \
glance.tests.unit.test_policy \
glance.tests.unit.test_quota \
glance.tests.unit.test_schema \
glance.tests.unit.test_scrubber \
glance.tests.unit.test_store_artifact \
glance.tests.unit.test_store_image \
glance.tests.unit.test_store_location \
glance.tests.unit.test_versions \
glance.tests.unit.v1.test_registry_api \
glance.tests.unit.v1.test_registry_client \
glance.tests.unit.v1.test_upload_utils \
glance.tests.unit.v2.test_image_actions_resource \
glance.tests.unit.v2.test_image_data_resource \
glance.tests.unit.v2.test_image_members_resource \
glance.tests.unit.v2.test_image_tags_resource \
glance.tests.unit.v2.test_images_resource \
glance.tests.unit.v2.test_metadef_resources \
glance.tests.unit.v2.test_registry_api \
glance.tests.unit.v2.test_registry_client \
glance.tests.unit.v2.test_schemas_resource \
glance.tests.unit.v2.test_tasks_resource
[testenv:py34-constraints]
install_command = {[testenv:common-constraints]install_command}
commands = {[testenv:py34]commands}
[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:pep8-constraints]
install_command = {[testenv:common-constraints]install_command}
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:cover-constraints]
setenv = {[testenv:cover]setenv}
commands = {[testenv:cover]commands}
[testenv:venv]
commands = {posargs}
[testenv:venv-constraints]
install_command = {[testenv:common-constraints]install_command}
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
[testenv:docs-constraints]
install_command = {[testenv:common-constraints]install_command}
commands = python setup.py build_sphinx
[testenv:bandit]
deps = .[bandit]
commands = bandit -c bandit.yaml -r glance -n5 -p gate
[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