Set python hash seed to 0 in tox.ini

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 ceilometer 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: Ibc613d77ad52d5f7d8d613f3dd66ffba4117ff72
This commit is contained in:
Clark Boylan 2014-07-25 13:56:37 -07:00
parent 1f87c36a67
commit 860a2852ca

View File

@ -8,15 +8,17 @@ deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
install_command = pip install -U --allow-external pytidylib --allow-insecure pytidylib --allow-external netifaces --allow-insecure netifaces {opts} {packages} install_command = pip install -U --allow-external pytidylib --allow-insecure pytidylib --allow-external netifaces --allow-insecure netifaces {opts} {packages}
usedevelop = True usedevelop = True
# Note the hash seed is set to 0 until ceilometer can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir} setenv = VIRTUAL_ENV={envdir}
EVENTLET_NO_GREENDNS=yes EVENTLET_NO_GREENDNS=yes
PYTHONHASHSEED=0
commands = commands =
bash -x {toxinidir}/setup-test-env.sh python setup.py testr --slowest --testr-args="{posargs}" bash -x {toxinidir}/setup-test-env.sh python setup.py testr --slowest --testr-args="{posargs}"
downloadcache = {toxworkdir}/_download downloadcache = {toxworkdir}/_download
whitelist_externals = bash whitelist_externals = bash
[testenv:cover] [testenv:cover]
setenv = VIRTUAL_ENV={envdir}
commands = bash -x {toxinidir}/setup-test-env.sh python setup.py testr --slowest --coverage --testr-args="{posargs}" commands = bash -x {toxinidir}/setup-test-env.sh python setup.py testr --slowest --coverage --testr-args="{posargs}"
[testenv:pep8] [testenv:pep8]