8148038e92
We have tox -e gendriverlist that outputs an RST-ish report of all drivers in the tree. This output can be used in the docs build to automatically publish the list of drivers to make it easier to find officially supported drivers. This effectively removes the existing drivers.html that was generated prior that did not actually contain any useful information. Change-Id: I8de78723af76aabcc976733ac4b248db0b8ca16f
139 lines
4.4 KiB
INI
139 lines
4.4 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
envlist = py34,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
|
|
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 =
|
|
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
|
|
install_command = pip install -U --force-reinstall {opts} {packages}
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees/v1 api-ref/v1/source api-ref/build/html/v1
|
|
sphinx-build -W -b html -d api-ref/build/doctrees/v2 api-ref/v2/source api-ref/build/html/v2
|
|
|
|
[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:compliance]
|
|
setenv =
|
|
OS_TEST_PATH = ./cinder/tests/compliance
|
|
|
|
[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
|
|
{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).*$'
|
|
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]
|
|
# 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
|