ceilometer/tox.ini
Chris Dent 823e1992b4 Stop using PYTHONHASHSEED=0 in ceilometer tests
Otherwise we have tests that rely on ordering (for example the one
fixed in this patchset).

Note that this moves the hash seed setting to only be used in docs
and venv tox targets. For some reason there is an issue in the tooling
used by the docs build that tickles a bug in those tools. Tools which
are not part of Ceilometer. To avoid tickling the problem and to move
ceilometer along on this bug, we're just going to mask that.

The venv target is used by the jenkins job that builds docs. It runs
the same build_sphinx setup.py target that the docs target does.

Change-Id: If93ec7934ad59515b821f056ca534d3676ee7e03
Closes-Bug: #1348818
2015-03-30 11:51:06 +00:00

104 lines
3.1 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py27,py33,py34,py-mysql,py-pgsql,pep8
[testenv]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
install_command = pip install -U {opts} {packages}
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
EVENTLET_NO_GREENDNS=yes
commands =
bash -x {toxinidir}/setup-test-env-mongodb.sh python setup.py testr --slowest --testr-args="{posargs}"
downloadcache = {toxworkdir}/_download
whitelist_externals = bash
[testenv:py-mysql]
commands =
bash -x {toxinidir}/setup-test-env-mysql.sh python setup.py testr --slowest --testr-args="{posargs}"
[testenv:py-pgsql]
commands =
bash -x {toxinidir}/setup-test-env-postgresql.sh python setup.py testr --slowest --testr-args="{posargs}"
[testenv:py-elastic]
commands =
bash -x {toxinidir}/setup-test-env-elastic.sh python setup.py testr --slowest --testr-args="{posargs}"
[testenv:py33]
deps = -r{toxinidir}/requirements-py3.txt
-r{toxinidir}/test-requirements-py3.txt
commands = python -m testtools.run \
ceilometer.tests.test_utils
[testenv:py34]
deps = -r{toxinidir}/requirements-py3.txt
-r{toxinidir}/test-requirements-py3.txt
commands = python -m testtools.run \
ceilometer.tests.test_utils
# NOTE(chdent): The gabbi tests are also run under the primary tox
# targets. This target simply provides a target to directly run just
# gabbi tests without needing to discovery across the entire body of
# tests.
[testenv:gabbi]
setenv = OS_TEST_PATH=ceilometer/tests/gabbi
commands =
bash -x {toxinidir}/setup-test-env-mongodb.sh \
python setup.py testr --testr-args="{posargs}"
[testenv:cover]
commands = bash -x {toxinidir}/setup-test-env-mongodb.sh python setup.py testr --slowest --coverage --testr-args="{posargs}"
[testenv:pep8]
commands =
flake8
# Check that .po and .pot files are valid:
bash -c "find ceilometer -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
[testenv:genconfig]
commands =
oslo-config-generator --output-file etc/ceilometer/ceilometer.conf \
--namespace ceilometer \
--namespace oslo.concurrency \
--namespace oslo.db \
--namespace oslo.messaging \
--namespace oslo.policy \
--namespace keystonemiddleware.auth_token
[testenv:docs]
commands = python setup.py build_sphinx
setenv = PYTHONHASHSEED=0
[testenv:pylint]
commands = bash tools/lintstack.sh
[testenv:venv]
commands = {posargs}
setenv = PYTHONHASHSEED=0
[testenv:debug]
commands = bash -x {toxinidir}/setup-test-env-mongodb.sh oslo_debug_helper {posargs}
[testenv:debug-mysql]
commands = bash -x {toxinidir}/setup-test-env-mysql.sh oslo_debug_helper {posargs}
[testenv:debug-pgsql]
commands = bash -x {toxinidir}/setup-test-env-postgresql.sh oslo_debug_helper {posargs}
[testenv:debug-elastic]
commands = bash -x {toxinidir}/setup-test-env-elastic.sh oslo_debug_helper {posargs}
[flake8]
ignore =
exclude=.venv,.git,.tox,dist,doc,./ceilometer/openstack/common,*lib/python*,*egg,nova_tests,build,tools/lintstack.head.py
show-source = True
[hacking]
import_exceptions =
ceilometer.i18n
local-check-factory = ceilometer.hacking.checks.factory