From 30ff19b11a5586679549fbff8bddc0c03d4c590f Mon Sep 17 00:00:00 2001 From: Alex Stapleton Date: Sun, 2 Feb 2014 11:00:36 +0000 Subject: More detailed error message for InternalError Uses ERR_error_string_n because the source contains horrible warnings against ever using ERR_error_string. --- tests/hazmat/backends/test_openssl.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/hazmat/backends/test_openssl.py') diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py index b0a58c41..1e35322a 100644 --- a/tests/hazmat/backends/test_openssl.py +++ b/tests/hazmat/backends/test_openssl.py @@ -116,6 +116,23 @@ class TestOpenSSL(object): 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() ctx = backend._lib.SSL_CTX_new(meth) -- cgit v1.2.3