deb-ceilometer/tox.ini
Ilya Tyaptin 49f53f35a5 Initial separating unit and functional tests
Currently we run tests which uses real backend or real daemons with
other unit tests.
This CR is initial for sequence of functional tests implementation.
It contains only moving files and modules to right directories and
fixing tox.ini. This approach allows to avoid constantly rebase conflicts,
because git handles file removing correct.

Next step - separate classes and functions from moved files to right
test types.

Depends-On: Ifdb0de150b2c738117308b2aae6c0c197e162821

Change-Id: I16b84ed83ac075658626f3ec6a35a24e228b61e7
Partialy-Implement: blueprint ceilometer-functional-tests
2015-08-06 07:59:45 +03:00

123 lines
3.8 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py27,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
OS_TEST_PATH=ceilometer/tests/unit
commands =
python setup.py testr --slowest --testr-args="{posargs}"
whitelist_externals = bash
# TODO(ityaptin): With separation tests to unit and functional folders we need
# set environment variable OS_TEST_PATH=./ceilometer/tests/functional
# in "py-<backend>" jobs
[testenv:py-mongodb]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands =
bash -x {toxinidir}/setup-test-env-mongodb.sh python setup.py testr --slowest --testr-args="{posargs}"
[testenv:py-mysql]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands =
bash -x {toxinidir}/setup-test-env-mysql.sh python setup.py testr --slowest --testr-args="{posargs}"
[testenv:py-pgsql]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands =
bash -x {toxinidir}/setup-test-env-postgresql.sh python setup.py testr --slowest --testr-args="{posargs}"
# Functional tests for elastic search
[testenv:py-elastic]
setenv = OS_TEST_PATH=ceilometer/tests/functional/
commands =
bash -x {toxinidir}/setup-test-env-es.sh python setup.py testr --slowest --testr-args="{posargs}"
[testenv:functional]
setenv = VIRTUAL_ENV={envdir}
EVENTLET_NO_GREENDNS=yes
OS_TEST_PATH=ceilometer/tests/functional/
commands =
bash -x {toxinidir}/run-functional-tests.sh "{posargs}"
[testenv:integration]
setenv = VIRTUAL_ENV={envdir}
EVENTLET_NO_GREENDNS=yes
OS_TEST_PATH=./ceilometer/tests/integration
OS_TEST_TIMEOUT=2400
GABBI_LIVE_FAIL_IF_NO_TEST=1
passenv = HEAT_* CEILOMETER_* GNOCCHI_* AODH_* GLANCE_* NOVA_* ADMIN_*
commands =
bash -x {toxinidir}/tools/pretty_tox.sh "{posargs}"
# 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/functional/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.log \
--namespace oslo.messaging \
--namespace oslo.policy \
--namespace oslo.service.service \
--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,*lib/python*,*egg,build
show-source = True
[hacking]
import_exceptions =
ceilometer.i18n
local-check-factory = ceilometer.hacking.checks.factory