deb-ceilometer/tox.ini
Hanxi Liu 6dbbc9a3d3 Put py34 first in the env order of tox
To solve the problem of "db type could not be determined" on py34 we
have to run first the py34 env to, then, run py27. This patch puts py34
first on the tox.ini list of envs to avoid this problem to happen.

Change-Id: I3c4e7de5a121d7c5d5a7a0f8bba5cb6014da7afc
Closes-bug: #1604734
2016-07-22 09:11:46 +00:00

141 lines
4.7 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py34,py27,py35,functional,py34-functional,py35-functional,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}
OS_TEST_PATH=ceilometer/tests/unit
passenv = OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE
commands =
{toxinidir}/tools/pretty_tox.sh "{posargs}"
oslo-config-generator --config-file=etc/ceilometer/ceilometer-config-generator.conf
whitelist_externals = bash
[testenv:py-mongodb]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands = pifpaf run mongodb {toxinidir}/tools/pretty_tox.sh "{posargs}"
[testenv:py-mysql]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands = pifpaf run mysql {toxinidir}/tools/pretty_tox.sh "{posargs}"
[testenv:py-pgsql]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands = pifpaf run postgresql {toxinidir}/tools/pretty_tox.sh "{posargs}"
# Functional tests for elastic search
[testenv:py-elastic]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands = pifpaf run elasticsearch {toxinidir}/tools/pretty_tox.sh "{posargs}"
[testenv:functional]
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=ceilometer/tests/functional/
passenv = CEILOMETER_*
commands =
bash -x {toxinidir}/run-functional-tests.sh "{posargs}"
[testenv:py34-functional]
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=ceilometer/tests/functional/
basepython = python3.4
passenv = CEILOMETER_*
commands =
bash -x {toxinidir}/run-functional-tests.sh "{posargs}"
[testenv:py35-functional]
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=ceilometer/tests/functional/
basepython = python3.4
passenv = CEILOMETER_*
commands =
bash -x {toxinidir}/run-functional-tests.sh "{posargs}"
[testenv:integration]
setenv = VIRTUAL_ENV={envdir}
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_*
# FIXME(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'
# bash -x {toxinidir}/tools/pretty_tox.sh "{posargs}"
# 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
[testenv:debug]
commands = bash -x oslo_debug_helper {posargs}
[testenv:debug-mongodb]
setenv = OS_TEST_PATH=ceilometer/tests/functional
commands = pifpaf --debug run mongodb oslo_debug_helper {posargs}
[testenv:debug-mysql]
setenv = OS_TEST_PATH=ceilometer/tests/functional
commands = pifpaf --debug run mysql oslo_debug_helper {posargs}
[testenv:debug-pgsql]
setenv = OS_TEST_PATH=ceilometer/tests/functional
commands = pifpaf --debug run postgresql oslo_debug_helper {posargs}
[testenv:debug-elastic]
setenv = OS_TEST_PATH=ceilometer/tests/functional
commands = pifpaf --debug run elasticsearch oslo_debug_helper {posargs}
[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