aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cryptography/exceptions.py4
-rw-r--r--tests/hazmat/backends/test_commoncrypto.py4
-rw-r--r--tests/test_utils.py37
-rw-r--r--tests/utils.py6
4 files changed, 27 insertions, 24 deletions
diff --git a/cryptography/exceptions.py b/cryptography/exceptions.py
index 86082e4a..4b4d4c37 100644
--- a/cryptography/exceptions.py
+++ b/cryptography/exceptions.py
@@ -22,9 +22,9 @@ class _Reasons(object):
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 40a9f4a1..7c703f67 100644
--- a/tests/hazmat/backends/test_commoncrypto.py
+++ b/tests/hazmat/backends/test_commoncrypto.py
@@ -16,9 +16,7 @@ from __future__ import absolute_import, division, print_function
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 b430f567..939845fc 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -1612,35 +1612,38 @@ def test_vector_version():
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
+ # 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
-@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)
+ # 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)
-@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
- ):
- pass
+ # 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 f948642e..3e5ea5f3 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -70,10 +70,12 @@ def check_backend_support(item):
@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):