e3f73eef51
New tox (>=1.7.0) sets a random python hash seed by default. This is generally good for testing because it will help keep projects working regardless of the hash seed, but nova unittests don't currently pass with a random hash seed so set it to the python default seed. This change will allow us to use new tox again and remove the restriction on tox<=1.6.1 to run unittests. Redundant setenvs for specific test envs are removed to prevent them from overriding the PYTHONHASHSEED value. Note this change will need to be backported to the stable branches to keep unittests there working with new tox as well. Change-Id: I7e2db17668bf522eb9ff4d77eb1ba47be39b52fb Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
66 lines
1.7 KiB
INI
66 lines
1.7 KiB
INI
[tox]
|
|
envlist = py26,py27,pep8
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
# Note the hash seed is set to 0 until nova can be tested with a
|
|
# random hash seed successfully.
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
DISCOVER_DIRECTORY=sahara/tests/unit
|
|
PYTHONHASHSEED=0
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = python setup.py test --slowest --testr-args="{posargs}"
|
|
whitelist_externals = bash
|
|
|
|
[testenv:integration]
|
|
# Note the hash seed is set to 0 until nova can be tested with a
|
|
# random hash seed successfully.
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
DISCOVER_DIRECTORY=sahara/tests/integration
|
|
PYTHONHASHSEED=0
|
|
commands = python setup.py test --slowest --testr-args="{posargs}"
|
|
|
|
[testenv:cover]
|
|
commands = python setup.py testr --coverage --testr-args='{posargs}'
|
|
|
|
[tox:jenkins]
|
|
downloadcache = ~/cache/pip
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs}
|
|
{toxinidir}/tools/config/check_uptodate.sh
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find sahara -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
rm -rf doc/html doc/build
|
|
rm -rf doc/source/apidoc doc/source/api
|
|
python setup.py build_sphinx
|
|
whitelist_externals =
|
|
rm
|
|
|
|
[testenv:pylint]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
commands = bash tools/lintstack.sh
|
|
|
|
[flake8]
|
|
show-source = true
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools
|
|
|
|
[hacking]
|
|
import_exceptions = sahara.i18n._, sahara.i18n._LI, sahara.i18n._LW, sahara.i18n._LE
|
|
local-check-factory = sahara.utils.hacking.checks.factory
|