ceilometer/tox.ini
Mehdi Abaakouk 5881c525a3 tests: fix tests for functional tests without dsvm
Currently functional tests pass in gate just because some calls are
done on real devstack, and passed by chance. We don't need dsvm at all
with pifpaf.

This change fixes this tests and add bindep.txt file for new gate jobs
without dsvm will be setup to ensure this doesn't happen again.

The tox targets pyXX-psql are renamed pyXX-postgresql to match all other jobs names.

Change-Id: I0e6cfb71cc53a47a11a12b5797fe262f9211ce22
2016-10-11 14:59:15 +02:00

96 lines
3.5 KiB
INI

[tox]
minversion = 1.8
skipsdist = True
envlist = py{34,27,35},{debug,py,py34,py27,py35}-{mongodb,mysql,postgresql,elastic,functional},pep8
[testenv]
deps = .[mongo,mysql,postgresql,gnocchi]
-r{toxinidir}/test-requirements.txt
install_command = pip install -U {opts} {packages}
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=ceilometer/tests/unit
CEILOMETER_TEST_BACKEND={env:CEILOMETER_TEST_BACKEND:none}
CEILOMETER_TEST_DEBUG={env:CEILOMETER_TEST_DEBUG:}
debug: CEILOMETER_TEST_DEBUG=True
{mongodb,mysql,pgsql,elastic,functional}: OS_TEST_PATH=ceilometer/tests/functional/
mongodb: CEILOMETER_TEST_BACKEND=mongodb
mysql: CEILOMETER_TEST_BACKEND=mysql
postgresql: CEILOMETER_TEST_BACKEND=postgresql
elastic: CEILOMETER_TEST_BACKEND=elasticsearch
functional: CEILOMETER_TEST_BACKEND={env:CEILOMETER_TEST_BACKEND:mongodb}
passenv = OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE CEILOMETER_*
commands =
bash -x {toxinidir}/run-tests.sh "{posargs}"
oslo-config-generator --config-file=etc/ceilometer/ceilometer-config-generator.conf
whitelist_externals = bash
[testenv:integration]
setenv = OS_TEST_PATH=./ceilometer/tests/integration
OS_TEST_TIMEOUT=2400
GABBI_LIVE_FAIL_IF_NO_TEST=1
passenv = {[testenv]passenv} HEAT_* CEILOMETER_* GNOCCHI_* AODH_* GLANCE_* NOVA_* ADMIN_*
# NOTE(sileht): run gabbi-run to failfast in case of error because testr
# doesn't support --failfast, but we loose the testr report.
commands =
bash -c 'cd ceilometer/tests/integration/gabbi/gabbits-live && gabbi-run -x < autoscaling.yaml'
# NOTE(chdent): The gabbi tests are also run under the other functional
# tox targets. This target simply provides a target to directly run just
# gabbi tests without needing to do discovery across the entire body of
# tests.
[testenv:gabbi]
setenv = OS_TEST_PATH=ceilometer/tests/functional/gabbi
passenv = CEILOMETER_*
commands = pifpaf run mongodb {toxinidir}/tools/pretty_tox.sh "{posargs}"
[testenv:cover]
setenv = OS_TEST_PATH=ceilometer/tests
commands =
python setup.py testr --slowest --coverage --testr-args="{posargs}"
[testenv:pep8]
deps = hacking<0.12,>=0.11.0
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:releasenotes]
commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:install-guide]
# NOTE(jaegerandi): this target does not use constraints because
# upstream infra does not yet support it. Once that's fixed, we can
# drop the install_command.
install_command = pip install -U --force-reinstall {opts} {packages}
commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html
[testenv:genconfig]
commands = oslo-config-generator --config-file=etc/ceilometer/ceilometer-config-generator.conf
[testenv:docs]
commands = python setup.py build_sphinx
setenv = PYTHONHASHSEED=0
[testenv:venv]
commands = {posargs}
setenv = PYTHONHASHSEED=0
[flake8]
ignore =
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,install-guide
show-source = True
[hacking]
import_exceptions =
ceilometer.i18n
local-check-factory = ceilometer.hacking.checks.factory
[testenv:api-ref]
whitelist_externals = rm
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html