Page MenuHomeSoftware Heritage

Jenkins >


Run At
Aug 4 2020, 7:11 PM
self = < object at 0x7fdf63f77d30> swh_storage_backend_config = {'cls': 'memory', 'journal_writer': {'cls': 'memory'}} def test_types(self, swh_storage_backend_config): """Checks all methods of StorageInterface are implemented by this backend, and that they have the same signature.""" # Create an instance of the protocol (which cannot be instantiated # directly, so this creates a subclass, then instantiates it) interface = type("_", (StorageInterface,), {})() storage = get_storage(**swh_storage_backend_config) assert "content_add" in dir(interface) missing_methods = [] for meth_name in dir(interface): if meth_name.startswith("_"): continue interface_meth = getattr(interface, meth_name) try: concrete_meth = getattr(storage, meth_name) except AttributeError: if not getattr(interface_meth, "deprecated_endpoint", False): # The backend is missing a (non-deprecated) endpoint missing_methods.append(meth_name) continue expected_signature = inspect.signature(interface_meth) actual_signature = inspect.signature(concrete_meth) > assert expected_signature == actual_signature, meth_name E AssertionError: content_update E assert <Signature (c...= []) -> None> == <Signature (c...nts, keys=[])> E +<Signature (contents: List[Dict[str, Any]], keys: List[str] = []) -> None> E -<Signature (contents, keys=[])> .tox/py3/lib/python3.7/site-packages/swh/storage/tests/ AssertionError