Fix coverage tests

This project needs some special setup before running its tests, and
that wasn't happening in the cover tox env. This switches cover to
use the same methods for running tests as the regular test envs.

Change-Id: Ie4a6543286caa11dc15173679455b2aa2020dc97
This commit is contained in:
Ben Nemec 2018-09-17 18:14:07 +00:00
parent 19c0a0b468
commit f5accf53a0
2 changed files with 37 additions and 2 deletions

View File

@ -1,7 +1,7 @@
[run]
branch = True
source = tooz
omit = tooz/tests/*,tooz/openstack/*
omit = tooz/tests/*
[report]
ignore_errors = True

37
tox.ini
View File

@ -46,7 +46,42 @@ commands = {posargs}
[testenv:cover]
basepython = python3
commands = python setup.py testr --slowest --coverage --testr-args="{posargs}"
# NOTE(bnemec): Unfortunately, referencing testenv deps doesn't work here, so
# we have to duplicate the entire list.
# See https://github.com/tox-dev/tox/issues/706
deps = .[test,zake,ipc,memcached,mysql,etcd,etcd3,etcd3gw]
zookeeper: .[zookeeper]
redis: .[redis]
sentinel: .[redis]
memcached: .[memcached]
postgresql: .[postgresql]
mysql: .[mysql]
etcd: .[etcd]
etcd3: .[etcd3]
etcd3gw: .[etcd3gw]
consul: .[consul]
coverage
setenv =
PYTHON=coverage run --source tooz --parallel-mode
TOOZ_TEST_URLS = file:///tmp zake:// ipc://
zookeeper: TOOZ_TEST_DRIVERS = zookeeper
redis: TOOZ_TEST_DRIVERS = redis
sentinel: TOOZ_TEST_DRIVERS = redis --sentinel
memcached: TOOZ_TEST_DRIVERS = memcached
mysql: TOOZ_TEST_DRIVERS = mysql
postgresql: TOOZ_TEST_DRIVERS = postgresql
etcd: TOOZ_TEST_DRIVERS = etcd,etcd --cluster
etcd3: TOOZ_TEST_DRIVERS = etcd
etcd3: TOOZ_TEST_ETCD3 = 1
etcd3gw: TOOZ_TEST_DRIVERS = etcd
etcd3gw: TOOZ_TEST_ETCD3GW = 1
consul: TOOZ_TEST_DRIVERS = consul
commands =
{toxinidir}/run-tests.sh {toxinidir}/tools/pretty_tox.sh "{posargs}"
{toxinidir}/run-examples.sh
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
basepython = python3