Dmitriy Rabotyagov 7d50893625 Loosen protobuf version that's used for docs/renos
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
2022-11-30 18:16:48 +01:00

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