48ec1fbfc3
The functional job was breaking due to the interaction between devstack installing neutron system-wide in editable mode (pip install -e) and tox packaging in the same path. Installing in editable mode meant that neutron.egg-info/PKG_INFO could be updated (in this case by tox) to change the installed version of the neutron package without updating scripts that depended on the installed version (e.g. rootwrap). This fix is to set the dsvm-functional env to use system packages and avoid having tox update PKG_INFO. Change-Id: Icc38cacd69bc5843ccfcc60237a7102df6d8597f Closes-bug: #1370347
90 lines
3.2 KiB
INI
90 lines
3.2 KiB
INI
[tox]
|
||
envlist = py26,py27,py33,pep8
|
||
minversion = 1.6
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
# Note the hash seed is set to 0 until neutron can be tested with a
|
||
# random hash seed successfully.
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
PYTHONHASHSEED=0
|
||
usedevelop = True
|
||
install_command = pip install -U {opts} {packages}
|
||
deps = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
commands =
|
||
python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args='{posargs}'
|
||
|
||
[testenv:hashtest]
|
||
# This is the same as default environment, but with a random PYTHONHASHSEED.
|
||
# You can also specify a specific hashseed (for test repeatability) as follows:
|
||
# tox --hashseed 1235130571 -e hashtest
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
|
||
[testenv:functional]
|
||
setenv = OS_TEST_PATH=./neutron/tests/functional
|
||
commands =
|
||
python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args='{posargs}'
|
||
|
||
[testenv:dsvm-functional]
|
||
setenv = OS_TEST_PATH=./neutron/tests/functional
|
||
OS_SUDO_TESTING=1
|
||
OS_ROOTWRAP_CMD=sudo /usr/local/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
sitepackages=True
|
||
commands =
|
||
python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args='{posargs}'
|
||
|
||
[tox:jenkins]
|
||
sitepackages = True
|
||
downloadcache = ~/cache/pip
|
||
|
||
[testenv:pep8]
|
||
commands =
|
||
flake8
|
||
neutron-db-manage check_migration
|
||
bash -c "find neutron -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
||
whitelist_externals = bash
|
||
|
||
[testenv:i18n]
|
||
commands = python ./tools/check_i18n.py ./neutron ./tools/i18n_cfg.py
|
||
|
||
[testenv:cover]
|
||
commands =
|
||
python -m neutron.openstack.common.lockutils python setup.py testr --coverage --testr-args='{posargs}'
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|
||
|
||
[testenv:docs]
|
||
commands = python setup.py build_sphinx
|
||
|
||
[flake8]
|
||
# E125 continuation line does not distinguish itself from next logical line
|
||
# E126 continuation line over-indented for hanging indent
|
||
# E128 continuation line under-indented for visual indent
|
||
# E129 visually indented line with same indent as next logical line
|
||
# E251 unexpected spaces around keyword / parameter equals
|
||
# E265 block comment should start with ‘# ‘
|
||
# E713 test for membership should be ‘not in’
|
||
# F402 import module shadowed by loop variable
|
||
# F811 redefinition of unused variable
|
||
# F812 list comprehension redefines name from line
|
||
# H104 file contains nothing but comments
|
||
# H237 module is removed in Python 3
|
||
# H305 imports not grouped correctly
|
||
# H307 like imports should be grouped together
|
||
# H401 docstring should not start with a space
|
||
# H402 one line docstring needs punctuation
|
||
# H405 multi line docstring summary not separated with an empty line
|
||
# H904 Wrap long lines in parentheses instead of a backslash
|
||
# TODO(marun) H404 multi line docstring should start with a summary
|
||
ignore = E125,E126,E128,E129,E251,E265,E713,F402,F811,F812,H104,H237,H305,H307,H401,H402,H404,H405,H904
|
||
show-source = true
|
||
builtins = _
|
||
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,.ropeproject,rally-scenarios
|
||
|
||
[hacking]
|
||
import_exceptions = neutron.openstack.common.gettextutils
|
||
local-check-factory = neutron.hacking.checks.factory
|