aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'cryptography/utils.py')
-rw-r--r--cryptography/utils.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/cryptography/utils.py b/cryptography/utils.py
index 818f4e80..e4ec6ccf 100644
--- a/cryptography/utils.py
+++ b/cryptography/utils.py
@@ -13,6 +13,7 @@
from __future__ import absolute_import, division, print_function
+import abc
import inspect
import sys
@@ -37,12 +38,16 @@ def verify_interface(iface, klass):
raise InterfaceNotImplemented(
"{0} is missing a {1!r} method".format(klass, method)
)
- spec = getattr(iface, method)
- actual = getattr(klass, method)
- if inspect.getargspec(spec) != inspect.getargspec(actual):
+ if isinstance(getattr(iface, method), abc.abstractproperty):
+ # Can't properly verify these yet.
+ continue
+ spec = inspect.getargspec(getattr(iface, method))
+ actual = inspect.getargspec(getattr(klass, method))
+ if spec != actual:
raise InterfaceNotImplemented(
- "{0}.{1}'s signature differs from the expected".format(
- klass, method
+ "{0}.{1}'s signature differs from the expected. Expected: "
+ "{2!r}. Received: {3!r}".format(
+ klass, method, spec, actual
)
)