Fixed #1689 -- correctly handle code with multiple requires_backend_itnerface
diff --git a/tests/conftest.py b/tests/conftest.py
index c4d6b9c..6599a64 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -18,11 +18,13 @@
if "backend" in metafunc.fixturenames:
filtered_backends = []
required = metafunc.function.requires_backend_interface
- required_interfaces = tuple(
+ required_interfaces = [
mark.kwargs["interface"] for mark in required
- )
+ ]
for backend in selected_backends:
- if isinstance(backend, required_interfaces):
+ if all(
+ isinstance(backend, iface) for iface in required_interfaces
+ ):
filtered_backends.append(backend)
# If you pass an empty list to parametrize Bad Things(tm) happen