0a83ae972e
Added nodeenv as a test requirement. Added a jshint environment to tox.ini, which installs node.js into the python virtual environment with nodeenv, installs jshint using npm, and calls runtest.sh to run the tests. runtest.sh now supports the -j|--jshint flags to run jshint on the javascript files. jshint must be installed before running runtest.sh The documentation also got updated to include some info about jshint. This patch does not add jshint to the OpenStack codebase, just provides a way to install it for testing, to avoid license clash (jshint has a slightly modified MIT license, which is incompatible with OpenStack's Apache license). Change-Id: I9dd0743eaee50fdba3dbb527c29f2501bdd44ca6 Implements: blueprint node-toolchain Implements: blueprint jshint-codestyle
88 lines
3.0 KiB
INI
88 lines
3.0 KiB
INI
[tox]
|
|
envlist = py26,py27,py27dj14,py27dj15,pep8,py33
|
|
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
|
|
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
|
|
{toxinidir}/tools/requirements_style_check.sh requirements.txt test-requirements.txt
|
|
|
|
[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 {posargs}
|
|
|
|
[testenv:py26integration]
|
|
basepython = python2.6
|
|
commands = /bin/bash run_tests.sh -N --integration {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]
|
|
builtins = _
|
|
exclude = .venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,build,panel_template,dash_template,local_settings.py,*/local/*,*/test/test_plugins/*
|
|
# E127 continuation line over-indented for visual indent
|
|
# E128 continuation line under-indented for visual indent
|
|
# H701 empty localization string
|
|
# H702 Formatting operation should be outside of localization method call
|
|
# H803 git commit title should not end with period (disabled on purpose, see bug #1236621)
|
|
ignore = E127,E128,H701,H702,H803
|
|
select = H236
|
|
|
|
[hacking]
|
|
import_exceptions = collections.defaultdict,
|
|
django.conf.settings,
|
|
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_unicode,
|
|
django.utils.html.conditional_escape,
|
|
django.utils.html.escape,
|
|
django.utils.http.urlencode,
|
|
django.utils.safestring.mark_safe,
|
|
django.utils.translation.pgettext_lazy,
|
|
django.utils.translation.ugettext_lazy,
|
|
django.utils.translation.ungettext_lazy,
|
|
operator.attrgetter,
|
|
StringIO.StringIO
|