5304e14559
Picked this up from Keystone. It sounds like a good defense to have from further making our code more complex. The current highest complexity is 32, set the maximum complexity for flake8 to 33. This should help to keep code simple and maintainable. It should be possible to reduce the maximum complexity to something closer to 20 with relatively small efforts. openstack_dashboard.dashboards.identity.projects.workflows: 'UpdateProject.handle' is complexity of 32 openstack_dashboard.dashboards.project.access_and_security.security_groups.forms: 'AddRule.clean' is complexity of 20 openstack_dashboard.dashboards.project.instances.workflows.create_instance: 'SetInstanceDetailsAction.clean' is complexity of 26 horizon.exceptions: 'handle' is complexity of 24 Change-Id: I58cc20972aac221012f248e8135151b1243dae35
94 lines
3.3 KiB
INI
94 lines
3.3 KiB
INI
[tox]
|
|
envlist = py26,py27,py27dj14,py27dj15,pep8,py33,py34
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install --allow-external netaddr --allow-insecure netaddr -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
NOSE_WITH_OPENSTACK=1
|
|
NOSE_OPENSTACK_COLOR=1
|
|
NOSE_OPENSTACK_RED=0.05
|
|
NOSE_OPENSTACK_YELLOW=0.025
|
|
NOSE_OPENSTACK_SHOW_ELAPSED=1
|
|
# Note the hash seed is set to 0 until horizon can be tested with a
|
|
# random hash seed successfully.
|
|
PYTHONHASHSEED=0
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = /bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
/bin/bash run_tests.sh -N --pep8
|
|
/bin/bash run_tests.sh -N --makemessages --check-only
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
commands = /bin/bash run_tests.sh -N --no-pep8 --coverage {posargs}
|
|
|
|
[testenv:py27dj14]
|
|
basepython = python2.7
|
|
commands = pip install django>=1.4,<1.5
|
|
/bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:py27dj15]
|
|
basepython = python2.7
|
|
commands = pip install django>=1.5,<1.6
|
|
/bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:py27integration]
|
|
basepython = python2.7
|
|
commands = /bin/bash run_tests.sh -N --integration --selenium-headless {posargs}
|
|
|
|
[testenv:py26integration]
|
|
basepython = python2.6
|
|
commands = /bin/bash run_tests.sh -N --integration --selenium-headless {posargs}
|
|
|
|
[testenv:jshint]
|
|
commands = nodeenv -p
|
|
npm install jshint -g
|
|
/bin/bash run_tests.sh -N --jshint
|
|
|
|
[testenv:docs]
|
|
setenv = DJANGO_SETTINGS_MODULE=openstack_dashboard.test.settings
|
|
commands = python setup.py build_sphinx
|
|
|
|
[tox:jenkins]
|
|
downloadcache = ~/cache/pip
|
|
|
|
[flake8]
|
|
exclude = .venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,build,panel_template,dash_template,local_settings.py,*/local/*,*/test/test_plugins/*,.ropeproject
|
|
# H307 like imports should be grouped together
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
# H803 git commit title should not end with period (disabled on purpose, see bug #1236621)
|
|
# H904 Wrap long lines in parentheses instead of a backslash
|
|
ignore = H307,H405,H803,H904
|
|
max-complexity=33
|
|
|
|
[hacking]
|
|
import_exceptions = collections.defaultdict,
|
|
django.conf.settings,
|
|
django.conf.urls.include,
|
|
django.conf.urls.patterns,
|
|
django.conf.urls.url,
|
|
django.core.urlresolvers.reverse,
|
|
django.core.urlresolvers.reverse_lazy,
|
|
django.template.loader.render_to_string,
|
|
django.test.utils.override_settings,
|
|
django.utils.datastructures.SortedDict,
|
|
django.utils.encoding.force_text,
|
|
django.utils.html.conditional_escape,
|
|
django.utils.html.escape,
|
|
django.utils.http.urlencode,
|
|
django.utils.safestring.mark_safe,
|
|
django.utils.translation.npgettext_lazy,
|
|
django.utils.translation.pgettext_lazy,
|
|
django.utils.translation.ugettext_lazy,
|
|
django.utils.translation.ungettext_lazy,
|
|
operator.attrgetter,
|
|
StringIO.StringIO
|