Eric Brown 79532ea599 Add bandit to pep8 and bandit testenv
This patch adds bandit security linter to tox jobs. It ignores
files in the 'tests' directory.

This patch will also fix or exclude any issues as a result from
scan.

Change-Id: I9caa41f596a17a8b961a542d4bc6bb121e7a147f
2016-07-08 22:39:55 +00:00

69 lines
2.8 KiB
INI

[tox]
minversion = 1.6
envlist = py34,py27,pep8
skipsdist = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
usedevelop = True
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} --allow-all-external --allow-insecure netaddr -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
.[s3,vmware,swift,cinder]
passenv = OS_TEST_*
commands = ostestr --slowest {posargs}
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:releasenotes]
# NOTE(nikhil): this target does not use constraints because upstream infra
# does not yet support it. Once that's fixed, we can drop the install_command.
install_command = pip install --allow-all-external --allow-insecure netaddr -U {opts} {packages}
commands = sphinx-build -a -E -W -d releasenotes/build/.doctrees -b html releasenotes/source releasenotes/build/html
[testenv:pep8]
commands =
flake8 {posargs}
# Run security linter
# The following bandit tests are being skipped:
# B101 - Use of assert detected.
# B110 - Try, Except, Pass detected.
# B303 - Use of insecure MD2, MD4, or MD5 hash function.
bandit -r glance_store -x tests --skip B101,B110,B303
[testenv:bandit]
# NOTE(browne): This is required for the integration test job of the bandit
# project. Please do not remove.
# The following bandit tests are being skipped:
# B101 - Use of assert detected.
# B110 - Try, Except, Pass detected.
# B303 - Use of insecure MD2, MD4, or MD5 hash function.
commands = bandit -r glance_store -x tests --skip B101,B110,B303
[testenv:cover]
# NOTE(nikhil): this target does not use constraints because upstream infra
# does not yet support it. Once that's fixed, we can drop the install_command.
install_command = pip install --allow-all-external --allow-insecure netaddr -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
commands = python setup.py testr --coverage --testr-args='^(?!.*test.*coverage).*$'
[testenv:venv]
# NOTE(nikhil): this target does not use constraints because upstream infra
# does not yet support it. Once that's fixed, we can drop the install_command.
install_command = pip install --allow-all-external --allow-insecure netaddr -U {opts} {packages}
commands = {posargs}
[testenv:functional]
sitepackages = True
setenv = OS_TEST_PATH=./glance_store/tests/functional
commands = python setup.py testr --slowest --testr-args='glance_store.tests.functional'
[flake8]
# TODO(dmllr): Analyze or fix the warnings blacklisted below
# H301 one import per line
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
ignore = H301,H404,H405
exclude = .venv,.git,.tox,dist,doc,etc,*glance_store/locale*,*openstack/common*,*lib/python*,*egg,build