cinder/tox.ini
whoami-rajat 0554ee1d47 Bump bandit version
Bandit 1.6.0 changes the behavior of the '-x' option so that it now
supports glob patterns. Update our tox file to use to correctly exclude
test code from bandit scans. This requires bumping our minimum bandit
version.
For additional details, refer to ML Thread[1]

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006116.html

Change-Id: I0b61934067bfb69ed3375f14bb1e05c9eeb694ad
2019-05-20 16:54:30 +00:00

205 lines
5.8 KiB
INI

[tox]
minversion = 2.5
skipsdist = True
skip_missing_interpreters = true
envlist = py36,py27,compliance,pep8
[testenv]
setenv = VIRTUAL_ENV={envdir}
PYTHONWARNINGS=default::DeprecationWarning
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_TEST_TIMEOUT=60
OS_TEST_PATH=./cinder/tests/unit
usedevelop = True
install_command = pip install {opts} {packages}
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
# By default stestr will set concurrency
# to ncpu, to specify something else use
# the concurrency=<n> option.
# call ie: 'tox -epy27 -- --concurrency=4'
commands =
find . -ignore_readdir_race -type f -name "*.pyc" -delete
stestr run {posargs}
stestr slowest
whitelist_externals =
bash
find
passenv = *_proxy *_PROXY
[testenv:api-ref]
basepython = python3
whitelist_externals = rm
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html/
[testenv:releasenotes]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
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:functional-py36]
setenv =
{[testenv:functional]setenv}
[testenv:functional-py37]
setenv =
{[testenv:functional]setenv}
[testenv:api-samples]
envdir = {toxworkdir}/shared
setenv =
GENERATE_SAMPLES=True
PYTHONHASHSEED=0
commands =
find . -ignore_readdir_race -type f -name "*.pyc" -delete
stestr --test-path=./cinder/tests/functional/api_sample_tests run {posargs}
stestr slowest
[testenv:compliance]
basepython = python3
setenv =
OS_TEST_PATH = ./cinder/tests/compliance
[testenv:pep8]
basepython = python3
commands =
flake8 {posargs} .
{toxinidir}/tools/config/check_uptodate.sh
{toxinidir}/tools/check_exec.py {toxinidir}/cinder {toxinidir}/doc/source/ {toxinidir}/releasenotes/notes
[testenv:fast8]
basepython = python3
# Use same environment directory as pep8 env to save space and install time
envdir = {toxworkdir}/pep8
commands =
{toxinidir}/tools/fast8.sh
passenv = FAST8_NUM_COMMITS
[testenv:pylint]
basepython = python3
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
pylint==2.1.1
commands =
bash ./tools/coding-checks.sh --pylint {posargs}
[testenv:cover]
# Also do not run test_coverage_ext tests while gathering coverage as those
# tests conflict with coverage.
basepython = python3
setenv =
{[testenv]setenv}
PYTHON=coverage run --source cinder --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:genconfig]
basepython = python3
sitepackages = False
envdir = {toxworkdir}/pep8
commands = oslo-config-generator --config-file=tools/config/cinder-config-generator.conf
[testenv:genpolicy]
basepython = python3
commands = oslopolicy-sample-generator --config-file=tools/config/cinder-policy-generator.conf
[testenv:genopts]
basepython = python3
sitepackages = False
envdir = {toxworkdir}/pep8
commands = python tools/config/generate_cinder_opts.py
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:docs]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
doc8
rm -fr doc/build doc/source/contributor/api/ .autogenerated
sphinx-build -W -b html doc/source doc/build/html
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html/
whitelist_externals = rm
[testenv:gendriverlist]
basepython = python3
sitepackages = False
envdir = {toxworkdir}/venv
commands = python {toxinidir}/tools/generate_driver_list.py
[testenv:bandit]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r cinder -n5 -x cinder/tests/* -ll
[testenv:bandit-baseline]
basepython = python3
envdir = {toxworkdir}/bandit
commands = bandit-baseline -r cinder -n5 -x cinder/tests/* -ii -ll
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
basepython = python3
deps = bindep
commands = bindep test
usedevelop = False
[flake8]
# Following checks are ignored on purpose.
#
# E251 unexpected spaces around keyword / parameter equals
# reason: no improvement in readability
ignore = E251
# H904 Delay string interpolations at logging calls.
enable-extensions = H106,H203,H904
exclude = .git,.venv,.tox,dist,tools,doc/ext,*egg,build
max-complexity=30
[hacking]
local-check-factory = cinder.hacking.checks.factory
import_exceptions = cinder.i18n
[doc8]
ignore-path=.tox,*.egg-info,doc/src/api,doc/source/drivers.rst,doc/build,.eggs/*/EGG-INFO/*.txt,doc/source/configuration/tables,./*.txt
extension=.txt,.rst,.inc
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt