mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
bpo-37069: tests use catch_unraisable_exception() (GH-13762)
Modify test_coroutines, test_cprofile, test_generators, test_raise, test_ssl and test_yield_from to use support.catch_unraisable_exception() rather than support.captured_stderr(). test_thread: remove test_save_exception_state_on_error() which is now updated. test_unraisable_exception() checks that sys.unraisablehook() is called to handle _thread.start_new_thread() exception. test_cprofile now rely on unittest for test discovery: replace support.run_unittest() with unittest.main().
This commit is contained in:
parent
13136e83a6
commit
0025350294
8 changed files with 60 additions and 69 deletions
|
@ -4051,13 +4051,15 @@ class ThreadedTests(unittest.TestCase):
|
|||
1/0
|
||||
server_context.set_servername_callback(cb_raising)
|
||||
|
||||
with self.assertRaises(ssl.SSLError) as cm, \
|
||||
support.captured_stderr() as stderr:
|
||||
stats = server_params_test(client_context, server_context,
|
||||
chatty=False,
|
||||
sni_name='supermessage')
|
||||
self.assertEqual(cm.exception.reason, 'SSLV3_ALERT_HANDSHAKE_FAILURE')
|
||||
self.assertIn("ZeroDivisionError", stderr.getvalue())
|
||||
with support.catch_unraisable_exception() as catch:
|
||||
with self.assertRaises(ssl.SSLError) as cm:
|
||||
stats = server_params_test(client_context, server_context,
|
||||
chatty=False,
|
||||
sni_name='supermessage')
|
||||
|
||||
self.assertEqual(cm.exception.reason,
|
||||
'SSLV3_ALERT_HANDSHAKE_FAILURE')
|
||||
self.assertEqual(catch.unraisable.exc_type, ZeroDivisionError)
|
||||
|
||||
@needs_sni
|
||||
def test_sni_callback_wrong_return_type(self):
|
||||
|
@ -4069,13 +4071,15 @@ class ThreadedTests(unittest.TestCase):
|
|||
return "foo"
|
||||
server_context.set_servername_callback(cb_wrong_return_type)
|
||||
|
||||
with self.assertRaises(ssl.SSLError) as cm, \
|
||||
support.captured_stderr() as stderr:
|
||||
stats = server_params_test(client_context, server_context,
|
||||
chatty=False,
|
||||
sni_name='supermessage')
|
||||
self.assertEqual(cm.exception.reason, 'TLSV1_ALERT_INTERNAL_ERROR')
|
||||
self.assertIn("TypeError", stderr.getvalue())
|
||||
with support.catch_unraisable_exception() as catch:
|
||||
with self.assertRaises(ssl.SSLError) as cm:
|
||||
stats = server_params_test(client_context, server_context,
|
||||
chatty=False,
|
||||
sni_name='supermessage')
|
||||
|
||||
|
||||
self.assertEqual(cm.exception.reason, 'TLSV1_ALERT_INTERNAL_ERROR')
|
||||
self.assertEqual(catch.unraisable.exc_type, TypeError)
|
||||
|
||||
def test_shared_ciphers(self):
|
||||
client_context, server_context, hostname = testing_context()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue