47e4a7e12f
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 heat 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: I2370759546adee7bf5e20fa214ed7fa1f31d6bfe
49 lines
1.5 KiB
INI
49 lines
1.5 KiB
INI
[tox]
|
|
envlist = py26,py27,pep8
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
# Note the hash seed is set to 0 until heat can be tested with a
|
|
# random hash seed successfully.
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
python setup.py testr --slowest --testr-args='{posargs}'
|
|
|
|
whitelist_externals = bash
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 heat bin/heat-api bin/heat-api-cfn bin/heat-api-cloudwatch bin/heat-engine bin/heat-manage contrib
|
|
{toxinidir}/tools/config/check_uptodate.sh
|
|
{toxinidir}/tools/requirements_style_check.sh requirements.txt test-requirements.txt
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find heat -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
|
|
[testenv:docs]
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
sphinxcontrib-httpdomain
|
|
commands = python setup.py build_sphinx
|
|
|
|
[flake8]
|
|
# H302 import only modules.'bla..' does not import a module
|
|
# H404 multi line docstring should start with a summary
|
|
# H803 no full stop at the end of the commit message
|
|
ignore = H302,H404,H803
|
|
show-source = true
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,tools,build
|