
Make use of doc8 to verify all rst files which are not autogenerated for errors and fail if there are any issues found. The doc8 checks are now part of the tox 'docs' environment and ran automatically. Checks can also be called direcly via 'tox -e docs'. Fix all issues found by doc8. Closes-Bug: #1566765 Change-Id: I2b25247030a1aadcfe029c9e071ef17f2f72046b Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
133 lines
3.7 KiB
INI
133 lines
3.7 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
envlist = py35,py27,compliance,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
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
usedevelop = True
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
|
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
|
|
# By default ostestr will set concurrency
|
|
# to ncpu, to specify something else use
|
|
# the concurrency=<n> option.
|
|
# call ie: 'tox -epy27 -- --concurrency=4'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
ostestr {posargs}
|
|
|
|
whitelist_externals =
|
|
bash
|
|
find
|
|
passenv = *_proxy *_PROXY
|
|
|
|
[testenv:api-ref]
|
|
# (sheel)This environment is called from CI scripts to test and publish
|
|
# the API Ref to developer.openstack.org.
|
|
whitelist_externals = rm
|
|
deps = -r{toxinidir}/test-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]
|
|
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-py34]
|
|
[testenv:functional-py35]
|
|
basepython=
|
|
py34: python3.4
|
|
py35: python3.5
|
|
setenv =
|
|
{[testenv:functional]setenv}
|
|
|
|
[testenv:compliance]
|
|
setenv =
|
|
OS_TEST_PATH = ./cinder/tests/compliance
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs} .
|
|
{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.
|
|
commands =
|
|
python setup.py testr --coverage \
|
|
--testr-args='^(?!.*test.*coverage).*$'
|
|
coverage report
|
|
|
|
[testenv:genconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/pep8
|
|
commands = oslo-config-generator --config-file=cinder/config/cinder-config-generator.conf
|
|
|
|
[testenv:genopts]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/pep8
|
|
commands = python cinder/config/generate_cinder_opts.py
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
python setup.py build_sphinx
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html/
|
|
doc8 --ignore D001 --ignore-path .tox --ignore-path cinder.egg-info --ignore-path doc/src/api --ignore-path doc/source/drivers.rst --ignore-path doc/build -e txt -e rst
|
|
whitelist_externals = rm
|
|
|
|
[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/ext,*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_check_reqs>=2.0.1
|
|
commands = pip-missing-reqs -d --ignore-file=cinder/tests/* cinder
|