fe990676a9
Caching is enabled by default from pip version 6.0 More info: https://testrun.org/tox/latest/config.html#confval-downloadcache=path https://pip.pypa.io/en/stable/reference/pip_install/#caching Change-Id: I5376fa4891a1a1f469af36d850b4045d24590aec
142 lines
4.3 KiB
INI
142 lines
4.3 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 =
|
|
constraints: {[testenv:common-constraints]install_command}
|
|
pip install {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]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:common-constraints]
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
|
|
|
[testenv:py34]
|
|
commands =
|
|
ostestr --whitelist_file=tests-py3.txt
|
|
|
|
[testenv:py34-constraints]
|
|
install_command = {[testenv:common-constraints]install_command}
|
|
commands = {[testenv:py34]commands}
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs} . cinder/common
|
|
# 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:pep8-constraints]
|
|
install_command = {[testenv:common-constraints]install_command}
|
|
commands =
|
|
flake8 {posargs} . cinder/common
|
|
# 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:pylint-constraints]
|
|
install_command = {[testenv:common-constraints]install_command}
|
|
deps = {[testenv:pylint]deps}
|
|
commands = {[testenv:pylint]commands}
|
|
|
|
[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).*$'
|
|
|
|
[testenv:cover-constraints]
|
|
install_command = {[testenv:common-constraints]install_command}
|
|
commands = {[testenv:cover]commands}
|
|
|
|
[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]
|
|
commands = {posargs}
|
|
|
|
[testenv:venv-constraints]
|
|
install_command = {[testenv:common-constraints]install_command}
|
|
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 -c tools/bandit.yaml -r cinder -n 5 -ll
|
|
|
|
[flake8]
|
|
# Following checks are ignored on purpose.
|
|
#
|
|
# E251 unexpected spaces around keyword / parameter equals
|
|
# reason: no improvement in readability
|
|
#
|
|
# Due to the upgrade to hacking 0.9.2 the following checking are
|
|
# ignored on purpose for the moment and should be re-enabled.
|
|
#
|
|
# H405
|
|
# Due to the upgrade to hacking 0.10.0 the following checking are
|
|
# ignored on purpose for the moment and should be cleaned up and re-enabled.
|
|
#
|
|
# H105 Don't use author tags
|
|
#
|
|
|
|
ignore = E251,H105
|
|
exclude = .git,.venv,.tox,dist,tools,doc,common,*egg,build
|
|
max-complexity=30
|
|
|
|
[hacking]
|
|
local-check-factory = cinder.hacking.checks.factory
|
|
import_exceptions = cinder.i18n
|