
Flake8 has support for McCabe cyclomatic complexity. Ironic's most complex code is at 16 right now, so cap this at 17 to make sure we don't start writing more complex code than what we already have today. Nova is doing similar: https://review.openstack.org/#/c/129125 Change-Id: I99fa26f763ab456d3428951d6a729098a73cf9ef
56 lines
1.4 KiB
INI
56 lines
1.4 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py26,py27,pep8
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c "TESTS_DIR=./ironic/tests/ python setup.py testr --slowest --testr-args='{posargs}'"
|
|
|
|
[tox:jenkins]
|
|
downloadcache = ~/cache/pip
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs}
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find ironic -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
commands =
|
|
python setup.py testr --coverage {posargs}
|
|
|
|
[testenv:checkconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands =
|
|
{toxinidir}/tools/config/check_uptodate.sh
|
|
|
|
[testenv:genconfig]
|
|
sitepackages = False
|
|
envdir = {toxworkdir}/venv
|
|
commands =
|
|
bash tools/config/generate_sample.sh -b . -p ironic -o etc/ironic
|
|
|
|
[testenv:venv]
|
|
setenv = PYTHONHASHSEED=0
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
# E711: ignored because it is normal to use "column == None" in sqlalchemy
|
|
# TODO(yuriyz): Analyze or fix the warnings blacklisted below
|
|
ignore = E12,E265,E711
|
|
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,*ironic/nova*
|
|
max-complexity=17
|
|
|
|
[hacking]
|
|
import_exceptions = testtools.matchers, ironic.common.i18n
|