Fixes to @alex's comments
diff --git a/cryptography/exceptions.py b/cryptography/exceptions.py
index 86082e4..4b4d4c3 100644
--- a/cryptography/exceptions.py
+++ b/cryptography/exceptions.py
@@ -22,9 +22,9 @@
class UnsupportedAlgorithm(Exception):
- def __init__(self, message, cause=None):
+ def __init__(self, message, reason=None):
super(UnsupportedAlgorithm, self).__init__(message)
- self._cause = cause
+ self._reason = reason
class AlreadyFinalized(Exception):
diff --git a/tests/hazmat/backends/test_commoncrypto.py b/tests/hazmat/backends/test_commoncrypto.py
index 40a9f4a..7c703f6 100644
--- a/tests/hazmat/backends/test_commoncrypto.py
+++ b/tests/hazmat/backends/test_commoncrypto.py
@@ -16,9 +16,7 @@
import pytest
from cryptography import utils
-from cryptography.exceptions import (
- InternalError, _Reasons
-)
+from cryptography.exceptions import InternalError, _Reasons
from cryptography.hazmat.bindings.commoncrypto.binding import Binding
from cryptography.hazmat.primitives import interfaces
from cryptography.hazmat.primitives.ciphers.algorithms import AES
diff --git a/tests/test_utils.py b/tests/test_utils.py
index b430f56..939845f 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -1612,35 +1612,38 @@
assert cryptography.__version__ == cryptography_vectors.__version__
-@pytest.mark.xfail
def test_raises_unsupported_algorithm_wrong_type():
- # Check that it asserts if the wrong type of exception is raised.
- with raises_unsupported_algorithm(None):
- raise Exception
-
-
-@pytest.mark.xfail
-def test_raises_unsupported_algorithm_wrong_reason():
- # Check that it asserts if the wrong reason code is raised.
- with raises_unsupported_algorithm(None):
- raise UnsupportedAlgorithm("An error.",
- _Reasons.BACKEND_MISSING_INTERFACE)
-
-
-@pytest.mark.xfail
-def test_raises_unsupported_no_exc():
- # Check that it raises if no exception is raised.
- with raises_unsupported_algorithm(
- _Reasons.BACKEND_MISSING_INTERFACE
- ):
+ # Check that it raises if the wrong type of exception is raised.
+ class TestException(Exception):
pass
+ with pytest.raises(TestException):
+ with raises_unsupported_algorithm(None):
+ raise TestException
+
+
+def test_raises_unsupported_algorithm_wrong_reason():
+ # Check that it fails if the wrong reason code is raised.
+ with pytest.raises(pytest.fail.Exception):
+ with raises_unsupported_algorithm(None):
+ raise UnsupportedAlgorithm("An error.",
+ _Reasons.BACKEND_MISSING_INTERFACE)
+
+
+def test_raises_unsupported_no_exc():
+ # Check that it fails if no exception is raised.
+ with pytest.raises(pytest.fail.Exception):
+ with raises_unsupported_algorithm(
+ _Reasons.BACKEND_MISSING_INTERFACE
+ ):
+ pass
+
def test_raises_unsupported_algorithm():
# Check that it doesnt assert if the right things are raised.
with raises_unsupported_algorithm(
_Reasons.BACKEND_MISSING_INTERFACE
- ) as exc:
+ ) as exc_info:
raise UnsupportedAlgorithm("An error.",
_Reasons.BACKEND_MISSING_INTERFACE)
- assert exc
+ assert exc_info.type is UnsupportedAlgorithm
diff --git a/tests/utils.py b/tests/utils.py
index f948642..3e5ea5f 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -70,10 +70,12 @@
@contextmanager
-def raises_unsupported_algorithm(cause):
+def raises_unsupported_algorithm(reason):
with pytest.raises(UnsupportedAlgorithm) as exc_info:
yield exc_info
- assert exc_info.value._cause is cause
+
+ if exc_info.value._reason is not reason:
+ pytest.fail("Did not get expected reason tag for UnsupportedAlgorithm")
def load_vectors_from_file(filename, loader):