summaryrefslogtreecommitdiff
path: root/tests/conftest.py
diff options
context:
space:
mode:
authorChris Lamb <chris@chris-lamb.co.uk>2018-11-16 18:51:00 +0100
committerChris Lamb <chris@chris-lamb.co.uk>2018-11-16 18:51:00 +0100
commitf1f225cdb2bd13b9944049e53792662d9c24da8a (patch)
treea7acfba90559312233ba599e948ce55fe1d10107 /tests/conftest.py
parentc8936f7c713e333c21dd7a6d5ecfa582bcafb535 (diff)
downloadredis-py-f1f225cdb2bd13b9944049e53792662d9c24da8a.tar.gz
Skip 64-bit specific tests. (Closes: #899)
Signed-off-by: Chris Lamb <lamby@debian.org>
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
index 5a43968..7b1335c 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -5,18 +5,18 @@ from mock import Mock
from distutils.version import StrictVersion
-_REDIS_VERSIONS = {}
+_REDIS_INFO = {}
-def get_version(**kwargs):
+def get_info(**kwargs):
params = {'host': 'localhost', 'port': 6379, 'db': 9}
params.update(kwargs)
key = '%s:%s' % (params['host'], params['port'])
- if key not in _REDIS_VERSIONS:
+ if key not in _REDIS_INFO:
client = redis.Redis(**params)
- _REDIS_VERSIONS[key] = client.info()['redis_version']
+ _REDIS_INFO[key] = client.info()
client.connection_pool.disconnect()
- return _REDIS_VERSIONS[key]
+ return _REDIS_INFO[key]
def _get_client(cls, request=None, **kwargs):
@@ -33,15 +33,22 @@ def _get_client(cls, request=None, **kwargs):
def skip_if_server_version_lt(min_version):
- check = StrictVersion(get_version()) < StrictVersion(min_version)
+ redis_version = get_info()['redis_version']
+ check = StrictVersion(redis_version) < StrictVersion(min_version)
return pytest.mark.skipif(check, reason="")
def skip_if_server_version_gte(min_version):
- check = StrictVersion(get_version()) >= StrictVersion(min_version)
+ redis_version = get_info()['redis_version']
+ check = StrictVersion(redis_version) >= StrictVersion(min_version)
return pytest.mark.skipif(check, reason="")
+def skip_unless_arch_bits(arch_bits):
+ return pytest.mark.skipif(get_info()['arch_bits'] != arch_bits,
+ reason="server is not {}-bit".format(arch_bits))
+
+
@pytest.fixture()
def r(request, **kwargs):
return _get_client(redis.Redis, request, **kwargs)