diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2014-10-23 11:25:51 -0700 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2014-10-23 11:25:51 -0700 |
commit | 055631d7f7ab10ee1641a604f178d4d865e61221 (patch) | |
tree | 8c74bb715d18e05501b17ea29fa890c46220b6f4 /tests/conftest.py | |
parent | 7aab8b4ae4f5ab1710a985551c4105d608f5b852 (diff) | |
download | pyca-cryptography-055631d7f7ab10ee1641a604f178d4d865e61221.zip pyca-cryptography-055631d7f7ab10ee1641a604f178d4d865e61221.tar.gz pyca-cryptography-055631d7f7ab10ee1641a604f178d4d865e61221.tar.bz2 |
Fix to handle multiple instances of @pytest.mark_requires_backend_interface
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index 7f8e71d..31cdb63 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) |