[tox] minversion = 3.1.0 envlist = py3,py{38,310}-{zookeeper,redis,sentinel,memcached,postgresql,mysql,consul,etcd,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,etcd3gw] zookeeper: .[zookeeper] redis: .[redis] sentinel: .[redis] memcached: .[memcached] postgresql: .[postgresql] mysql: .[mysql] etcd: .[etcd] 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 sentinel: TOOZ_TEST_SENTINEL = 1 memcached: TOOZ_TEST_DRIVERS = memcached mysql: TOOZ_TEST_DRIVERS = mysql postgresql: TOOZ_TEST_DRIVERS = postgresql etcd: TOOZ_TEST_DRIVERS = etcd,etcd --cluster etcd3gw: TOOZ_TEST_DRIVERS = etcd etcd3gw: TOOZ_TEST_ETCD3GW = 1 consul: TOOZ_TEST_DRIVERS = consul allowlist_externals = {toxinidir}/run-tests.sh {toxinidir}/run-examples.sh # 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 = coverage erase {toxinidir}/run-tests.sh stestr run "{posargs}" {toxinidir}/run-examples.sh coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report --show-missing [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 = pre-commit commands = pre-commit run --all-files --show-diff-on-failure [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