[tox] minversion = 1.8 envlist = py27,py36,py37,py{27,36}-{zookeeper,redis,sentinel,memcached,postgresql,mysql,consul,etcd,etcd3,etcd3gw},pep8 [testenv] # We need to install a bit more than just `test' because those drivers have # custom tests that we always run 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] 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 {toxinidir}/tools/pretty_tox.sh "{posargs}" {toxinidir}/run-examples.sh [testenv:py27] basepython = python2.7 [testenv:venv] basepython = python3 # This target is used by the gate go run Sphinx to build the doc deps = {[testenv:docs]deps} commands = {posargs} [testenv:cover] basepython = python3 # 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 deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -W -b html doc/source doc/build/html [testenv:pep8] basepython = python3 deps = hacking<0.13,>=0.12 doc8 commands = flake8 doc8 doc/source [flake8] exclude=.venv,.git,.tox,dist,*egg,*.egg-info,build,examples,doc show-source = True [testenv:releasenotes] basepython = python3 deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html