aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/bindings
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2017-05-25 23:05:00 -0500
committerAlex Gaynor <alex.gaynor@gmail.com>2017-05-26 00:05:00 -0400
commitd36bef0b744d79b209b13f87fb9c943e4091a2c5 (patch)
treeab33864d222f62b8c38511315e753063016c3153 /tests/hazmat/bindings
parent349923379f1c1baf51ff1709abaa19559a59ad69 (diff)
downloadcryptography-d36bef0b744d79b209b13f87fb9c943e4091a2c5.tar.gz
cryptography-d36bef0b744d79b209b13f87fb9c943e4091a2c5.tar.bz2
cryptography-d36bef0b744d79b209b13f87fb9c943e4091a2c5.zip
fix libressl error/refactor some error handling (#3609)
* add libre so I can see the error * add the libre error needed and refactor error handling a bit We were historically matching on lib + func + reason, but func is somewhat unstable so now we match on lib + reason only. Of course, in this case libressl changed both lib and reason so it wouldn't have mattered. All error handling from the error queue in openssl is an illusion * fix a typo, probably an unneeded branch * review feedback * refactor tests to support libressl insert additional rant about libre here, although admittedly these tests were assuming stability where openssl itself guarantees none * better assert, fix flake8
Diffstat (limited to 'tests/hazmat/bindings')
-rw-r--r--tests/hazmat/bindings/test_openssl.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/tests/hazmat/bindings/test_openssl.py b/tests/hazmat/bindings/test_openssl.py
index 9b0da67c..488f64e1 100644
--- a/tests/hazmat/bindings/test_openssl.py
+++ b/tests/hazmat/bindings/test_openssl.py
@@ -8,7 +8,7 @@ import pytest
from cryptography.exceptions import InternalError
from cryptography.hazmat.bindings.openssl.binding import (
- Binding, _OpenSSLErrorWithText, _consume_errors, _openssl_assert
+ Binding, _consume_errors, _openssl_assert
)
@@ -94,16 +94,12 @@ class TestOpenSSL(object):
with pytest.raises(InternalError) as exc_info:
_openssl_assert(b.lib, False)
- assert exc_info.value.err_code == [_OpenSSLErrorWithText(
- code=101183626,
- lib=b.lib.ERR_LIB_EVP,
- func=b.lib.EVP_F_EVP_ENCRYPTFINAL_EX,
- reason=b.lib.EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH,
- reason_text=(
- b'error:0607F08A:digital envelope routines:EVP_EncryptFinal_'
- b'ex:data not multiple of block length'
- )
- )]
+ error = exc_info.value.err_code[0]
+ assert error.code == 101183626
+ assert error.lib == b.lib.ERR_LIB_EVP
+ assert error.func == b.lib.EVP_F_EVP_ENCRYPTFINAL_EX
+ assert error.reason == b.lib.EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH
+ assert b"data not multiple of block length" in error.reason_text
def test_check_startup_errors_are_allowed(self):
b = Binding()