aboutsummaryrefslogtreecommitdiffstats
path: root/tests/conftest.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2014-10-23 11:25:51 -0700
committerAlex Gaynor <alex.gaynor@gmail.com>2014-10-23 11:25:51 -0700
commit055631d7f7ab10ee1641a604f178d4d865e61221 (patch)
tree8c74bb715d18e05501b17ea29fa890c46220b6f4 /tests/conftest.py
parent7aab8b4ae4f5ab1710a985551c4105d608f5b852 (diff)
downloadcryptography-055631d7f7ab10ee1641a604f178d4d865e61221.tar.gz
cryptography-055631d7f7ab10ee1641a604f178d4d865e61221.tar.bz2
cryptography-055631d7f7ab10ee1641a604f178d4d865e61221.zip
Fix to handle multiple instances of @pytest.mark_requires_backend_interface
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
index 7f8e71d5..31cdb634 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -33,13 +33,16 @@ def pytest_runtest_setup(item):
required = item.keywords.get("requires_backend_interface")
if (
required is not None and
- "backend" in item.funcargs and
- not isinstance(item.funcargs["backend"], required.kwargs['interface'])
+ "backend" in item.funcargs
):
- pytest.skip("{0} backend does not support {1}".format(
- item.funcargs["backend"],
- required.kwargs['interface'].__name__
- ))
+ required_interfaces = tuple(
+ kwargs["interface"] for args, kwargs in required._arglist
+ )
+ if not isinstance(item.funcargs["backend"], required_interfaces):
+ pytest.skip("{0} backend does not support {1}".format(
+ item.funcargs["backend"],
+ ", ".join(iface.__name__ for iface in required_interfaces)
+ ))
check_backend_support(item)