summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
authorChayim I. Kirshen <c@kirshen.com>2021-11-29 20:07:20 +0200
committerChayim I. Kirshen <c@kirshen.com>2021-11-29 20:07:20 +0200
commit39fc550251d238cdba7966ff153321ca9e488508 (patch)
treee79360ec70feac7f0ab992813f8b2d43f7c67bab /tox.ini
parenta924269502b96dc71339cca3dfb20aaa3899a9d0 (diff)
parent4db85ef574a64a2b230a3ae1ff19c9d04065a114 (diff)
downloadredis-py-ck-linkdocs.tar.gz
merging masterck-linkdocs
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini35
1 files changed, 32 insertions, 3 deletions
diff --git a/tox.ini b/tox.ini
index 6d4c658..dd68274 100644
--- a/tox.ini
+++ b/tox.ini
@@ -2,11 +2,13 @@
addopts = -s
markers =
redismod: run only the redis module tests
+ onlycluster: marks tests to be run only with cluster mode redis
+ onlynoncluster: marks tests to be run only with standalone redis
[tox]
minversion = 3.2.0
requires = tox-docker
-envlist = {py35,py36,py37,py38,py39,pypy3}-{plain,hiredis},linters
+envlist = {standalone,cluster}-{plain,hiredis}-{py35,py36,py37,py38,py39,pypy3},linters,docs
[docker:master]
name = master
@@ -74,6 +76,21 @@ image = redisfab/lots-of-pythons
volumes =
bind:rw:{toxinidir}:/data
+[docker:redis_cluster]
+name = redis_cluster
+image = barshaul/redis-py:6.2.6-cluster
+ports =
+ 16379:16379/tcp
+ 16380:16380/tcp
+ 16381:16381/tcp
+ 16382:16382/tcp
+ 16383:16383/tcp
+ 16384:16384/tcp
+healtcheck_cmd = python -c "import socket;print(True) if all([0 == socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex(('127.0.0.1',port)) for port in range(16379,16384)]) else False"
+volumes =
+ bind:rw:{toxinidir}/docker/cluster/redis.conf:/redis.conf
+
+
[testenv]
deps =
-r {toxinidir}/requirements.txt
@@ -84,11 +101,15 @@ docker =
sentinel_1
sentinel_2
sentinel_3
+ redis_cluster
redismod
extras =
hiredis: hiredis
+setenv =
+ CLUSTER_URL = "redis://localhost:16379/0"
commands =
- pytest --cov=./ --cov-report=xml -W always {posargs}
+ standalone: pytest --cov=./ --cov-report=xml:coverage_redis.xml -W always -m 'not onlycluster' {posargs}
+ cluster: pytest --cov=./ --cov-report=xml:coverage_cluster.xml -W always -m 'not onlynoncluster and not redismod' --redis-url={env:CLUSTER_URL:} {posargs}
[testenv:devenv]
skipsdist = true
@@ -100,13 +121,14 @@ docker =
sentinel_1
sentinel_2
sentinel_3
+ redis_cluster
redismod
lots-of-pythons
commands = /usr/bin/echo
[testenv:linters]
deps_files = dev_requirements.txt
-docker=
+docker =
commands =
flake8
vulture redis whitelist.py --min-confidence 80
@@ -119,6 +141,13 @@ basepython = pypy3
[testenv:pypy3-hiredis]
basepython = pypy3
+[testenv:docs]
+deps_files = docs/requirements.txt
+docker =
+changedir = {toxinidir}/docs
+allowlist_externals = make
+commands = make html
+
[flake8]
exclude =
*.egg-info,