aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/backends/test_openssl.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2014-02-03 16:13:09 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2014-02-03 16:13:09 -0800
commit53f6dbca6e5a5a727c58e6c1fc320e09503d1cba (patch)
treeea51a47b4d0b69103bbca62d759cc9005ce3d109 /tests/hazmat/backends/test_openssl.py
parent2b1752ed68a08255ddacf1800c6cb6b406ce5e4b (diff)
parent59ca2fc4a93ed398e5c2674b7c98a81ed95e0930 (diff)
downloadcryptography-53f6dbca6e5a5a727c58e6c1fc320e09503d1cba.tar.gz
cryptography-53f6dbca6e5a5a727c58e6c1fc320e09503d1cba.tar.bz2
cryptography-53f6dbca6e5a5a727c58e6c1fc320e09503d1cba.zip
Merge branch 'master' into prioritized-multi-backend
Diffstat (limited to 'tests/hazmat/backends/test_openssl.py')
-rw-r--r--tests/hazmat/backends/test_openssl.py63
1 files changed, 50 insertions, 13 deletions
diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py
index 0aff41e5..9f00364f 100644
--- a/tests/hazmat/backends/test_openssl.py
+++ b/tests/hazmat/backends/test_openssl.py
@@ -73,24 +73,61 @@ class TestOpenSSL(object):
def test_handle_unknown_error(self):
with pytest.raises(InternalError):
- backend._handle_error_code(0, 0, 0)
+ backend._handle_error_code(0)
+ backend._lib.ERR_put_error(backend._lib.ERR_LIB_EVP, 0, 0,
+ b"test_openssl.py", -1)
with pytest.raises(InternalError):
- backend._handle_error_code(backend._lib.ERR_LIB_EVP, 0, 0)
-
+ backend._handle_error(None)
+
+ backend._lib.ERR_put_error(
+ backend._lib.ERR_LIB_EVP,
+ backend._lib.EVP_F_EVP_ENCRYPTFINAL_EX,
+ 0,
+ b"test_openssl.py",
+ -1
+ )
+ with pytest.raises(InternalError):
+ backend._handle_error(None)
+
+ backend._lib.ERR_put_error(
+ backend._lib.ERR_LIB_EVP,
+ backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
+ 0,
+ b"test_openssl.py",
+ -1
+ )
with pytest.raises(InternalError):
- backend._handle_error_code(
- backend._lib.ERR_LIB_EVP,
- backend._lib.EVP_F_EVP_ENCRYPTFINAL_EX,
- 0
- )
+ backend._handle_error(None)
+
+ def test_handle_multiple_errors(self):
+ for i in range(10):
+ backend._lib.ERR_put_error(backend._lib.ERR_LIB_EVP, 0, 0,
+ b"test_openssl.py", -1)
+
+ assert backend._lib.ERR_peek_error() != 0
with pytest.raises(InternalError):
- backend._handle_error_code(
- backend._lib.ERR_LIB_EVP,
- backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
- 0
- )
+ backend._handle_error(None)
+
+ assert backend._lib.ERR_peek_error() == 0
+
+ def test_openssl_error_string(self):
+ backend._lib.ERR_put_error(
+ backend._lib.ERR_LIB_EVP,
+ backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
+ 0,
+ b"test_openssl.py",
+ -1
+ )
+
+ with pytest.raises(InternalError) as exc:
+ backend._handle_error(None)
+
+ assert (
+ "digital envelope routines:"
+ "EVP_DecryptFinal_ex:digital envelope routines" in str(exc)
+ )
def test_ssl_ciphers_registered(self):
meth = backend._lib.TLSv1_method()