
protobuf package is present in upper-constraints, thus should not be specified in requirements to version that is smaller that one on u-c, otherwise pip will fail due to conflict between requirements and constraints. We do that only for docs and releasenotes, since used workaround decreases performance. The issue is mainly raised by etcd3 module that we rely on, so not to affect runtime things a left as is for now. Change-Id: Ieeba8d53a8311ed6cc228f444c831d148ee29025
78 lines
2.4 KiB
INI
78 lines
2.4 KiB
INI
[tox]
|
|
minversion = 3.1.0
|
|
envlist = py3,py{36,38}-{zookeeper,redis,sentinel,memcached,postgresql,mysql,consul,etcd,etcd3,etcd3gw},pep8
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
# We need to install a bit more than just `test-requirements' because those drivers have
|
|
# custom tests that we always run
|
|
deps = .[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]
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
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
|
|
# NOTE(tonyb): This project has chosen to *NOT* consume upper-constraints.txt
|
|
commands =
|
|
{toxinidir}/run-tests.sh stestr run "{posargs}"
|
|
{toxinidir}/run-examples.sh
|
|
|
|
[testenv:venv]
|
|
# This target is used by the gate go run Sphinx to build the doc
|
|
deps = {[testenv:docs]deps}
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
deps = {[testenv]deps}
|
|
setenv = {[testenv]setenv}
|
|
PYTHON=coverage run --source tooz --parallel-mode
|
|
commands =
|
|
{toxinidir}/run-tests.sh stestr run "{posargs}"
|
|
{toxinidir}/run-examples.sh
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:docs]
|
|
setenv = {[testenv]setenv}
|
|
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pep8]
|
|
deps = hacking>=4.0.0,<4.1.0
|
|
doc8
|
|
pre-commit>=2.6.0
|
|
commands =
|
|
pre-commit run -a
|
|
doc8 doc/source
|
|
|
|
[flake8]
|
|
exclude=.venv,.git,.tox,dist,*egg,*.egg-info,build,examples,doc
|
|
show-source = True
|
|
|
|
[testenv:releasenotes]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|