cinder/tox.ini
Christopher J Schaefer 4e8ef51bc7 Remove bandit.yaml in favor of defaults
The most recent version of bandit no longer requires a configuration
file (bandit.yaml) to run the default test suite. Removing the
configuration file and updating the bandit arguments will run all of
the currently available bandit tests in the default test suite.

Change-Id: If144c4017ce9bb58c3e83b62a5e31325353200b5
2016-03-18 11:08:52 -05:00

119 lines
3.8 KiB
INI

[tox]
minversion = 1.8
skipsdist = True
envlist = py27,pep8
[testenv]
# Note the hash seed is set to 0 until cinder can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
usedevelop = True
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
# TODO(mriedem): Move oslo.versionedobjects[fixtures] to test-requirements.txt
# after I937823ffeb95725f0b55e298ebee1857d6482883 lands.
deps = -r{toxinidir}/test-requirements.txt
oslo.versionedobjects[fixtures]
# By default ostestr will set concurrency
# to ncpu, to specify something else use
# the concurrency=<n> option.
# call ie: 'tox -epy27 -- --concurrency=4'
commands = ostestr {posargs}
whitelist_externals = bash
passenv = *_proxy *_PROXY
[testenv:releasenotes]
# NOTE(jaegerandi): 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 -U --force-reinstall {opts} {packages}
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:functional]
setenv =
OS_TEST_PATH = ./cinder/tests/functional
[testenv:pep8]
commands =
flake8 {posargs} .
# Check that .po and .pot files are valid:
bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
{toxinidir}/tools/config/check_uptodate.sh --checkopts
{toxinidir}/tools/config/check_uptodate.sh
{toxinidir}/tools/check_exec.py {toxinidir}/cinder
[testenv:fast8]
# Use same environment directory as pep8 env to save space and install time
envdir = {toxworkdir}/pep8
commands =
{toxinidir}/tools/fast8.sh
[testenv:pylint]
deps = -r{toxinidir}/requirements.txt
pylint==0.26.0
commands = bash tools/lintstack.sh
[testenv:cover]
# Also do not run test_coverage_ext tests while gathering coverage as those
# tests conflict with coverage.
# NOTE(jaegerandi): 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 -U --force-reinstall {opts} {packages}
commands =
python setup.py testr --coverage \
--testr-args='^(?!.*test.*coverage).*$'
[testenv:genconfig]
sitepackages = False
envdir = {toxworkdir}/pep8
commands = {toxinidir}/tools/config/generate_sample.sh from_tox
[testenv:genopts]
sitepackages = False
envdir = {toxworkdir}/pep8
commands = {toxinidir}/tools/config/generate_sample.sh from_tox --nosamplefile
[testenv:venv]
# NOTE(jaegerandi): 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 -U --force-reinstall {opts} {packages}
commands = {posargs}
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:gendriverlist]
sitepackages = False
envdir = {toxworkdir}/venv
commands = python {toxinidir}/tools/generate_driver_list.py
[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r cinder -n5 -x tests -ll
[flake8]
# Following checks are ignored on purpose.
#
# E251 unexpected spaces around keyword / parameter equals
# reason: no improvement in readability
ignore = E251
exclude = .git,.venv,.tox,dist,tools,doc,*egg,build
max-complexity=30
[hacking]
local-check-factory = cinder.hacking.checks.factory
import_exceptions = cinder.i18n
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_missing_reqs
commands = pip-missing-reqs -d --ignore-file=cinder/tests/* cinder