blob: 24ccc1d201f02d2a725de7cf8137317adce21fe6 [file] [log] [blame]
Alex Gaynorde1906a2014-08-12 16:12:54 -07001from OpenSSL._util import exception_from_error_queue, lib
2from OpenSSL.test.util import TestCase
3
4
Jean-Paul Calderone174c6922015-04-11 07:26:15 -04005class ErrorTests(TestCase):
6 """
7 Tests for handling of certain OpenSSL error cases.
8 """
Alex Gaynor27f55ed2014-08-15 11:24:26 -07009 def test_exception_from_error_queue_nonexistent_reason(self):
Alex Gaynor98232392014-08-15 11:23:00 -070010 """
Jean-Paul Calderone174c6922015-04-11 07:26:15 -040011 :py:func:`exception_from_error_queue` raises ``ValueError`` when it
12 encounters an OpenSSL error code which does not have a reason string.
Alex Gaynor98232392014-08-15 11:23:00 -070013 """
Alex Gaynorbae2dc32014-08-14 13:44:54 -070014 lib.ERR_put_error(lib.ERR_LIB_EVP, 0, 1112, b"", 10)
Hynek Schlawacke69d8452015-09-05 09:51:09 +020015 exc = self.assertRaises(
16 ValueError, exception_from_error_queue, ValueError
17 )
Alex Gaynorde1906a2014-08-12 16:12:54 -070018 self.assertEqual(exc.args[0][0][2], "")