Skip to content

Commit f779fac

Browse files
authored
bpo-46358: modernize test_asyncio (GH-30562)
1 parent 8c49d05 commit f779fac

File tree

3 files changed

+17
-39
lines changed

3 files changed

+17
-39
lines changed

Lib/test/test_asyncio/test_base_events.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222

2323
MOCK_ANY = mock.ANY
24-
PY34 = sys.version_info >= (3, 4)
2524

2625

2726
def tearDownModule():
@@ -596,18 +595,10 @@ async def zero_error_coro():
596595
self.loop.run_forever()
597596
fut = None # Trigger Future.__del__ or futures._TracebackLogger
598597
support.gc_collect()
599-
if PY34:
600-
# Future.__del__ in Python 3.4 logs error with
601-
# an actual exception context
602-
log.error.assert_called_with(
603-
test_utils.MockPattern('.*exception was never retrieved'),
604-
exc_info=(ZeroDivisionError, MOCK_ANY, MOCK_ANY))
605-
else:
606-
# futures._TracebackLogger logs only textual traceback
607-
log.error.assert_called_with(
608-
test_utils.MockPattern(
609-
'.*exception was never retrieved.*ZeroDiv'),
610-
exc_info=False)
598+
# Future.__del__ in logs error with an actual exception context
599+
log.error.assert_called_with(
600+
test_utils.MockPattern('.*exception was never retrieved'),
601+
exc_info=(ZeroDivisionError, MOCK_ANY, MOCK_ANY))
611602

612603
def test_set_exc_handler_invalid(self):
613604
with self.assertRaisesRegex(TypeError, 'A callable object or None'):

Lib/test/test_asyncio/test_events.py

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -737,14 +737,6 @@ def client():
737737

738738
@unittest.skipIf(ssl is None, 'No ssl module')
739739
def test_ssl_connect_accepted_socket(self):
740-
if (sys.platform == 'win32' and
741-
sys.version_info < (3, 5) and
742-
isinstance(self.loop, proactor_events.BaseProactorEventLoop)
743-
):
744-
raise unittest.SkipTest(
745-
'SSL not supported with proactor event loops before Python 3.5'
746-
)
747-
748740
server_context = test_utils.simple_server_sslcontext()
749741
client_context = test_utils.simple_client_sslcontext()
750742

@@ -2206,17 +2198,15 @@ def test_handle_repr(self):
22062198
self.assertRegex(repr(h), regex)
22072199

22082200
# partial method
2209-
if sys.version_info >= (3, 4):
2210-
method = HandleTests.test_handle_repr
2211-
cb = functools.partialmethod(method)
2212-
filename, lineno = test_utils.get_function_source(method)
2213-
h = asyncio.Handle(cb, (), self.loop)
2214-
2215-
cb_regex = r'<function HandleTests.test_handle_repr .*>'
2216-
cb_regex = (r'functools.partialmethod\(%s, , \)\(\)' % cb_regex)
2217-
regex = (r'^<Handle %s at %s:%s>$'
2218-
% (cb_regex, re.escape(filename), lineno))
2219-
self.assertRegex(repr(h), regex)
2201+
method = HandleTests.test_handle_repr
2202+
cb = functools.partialmethod(method)
2203+
filename, lineno = test_utils.get_function_source(method)
2204+
h = asyncio.Handle(cb, (), self.loop)
2205+
2206+
cb_regex = r'<function HandleTests.test_handle_repr .*>'
2207+
cb_regex = fr'functools.partialmethod\({cb_regex}, , \)\(\)'
2208+
regex = fr'^<Handle {cb_regex} at {re.escape(filename)}:{lineno}>$'
2209+
self.assertRegex(repr(h), regex)
22202210

22212211
def test_handle_repr_debug(self):
22222212
self.loop.get_debug.return_value = True

Lib/test/test_asyncio/test_futures.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -571,13 +571,10 @@ def memory_error():
571571
test_utils.run_briefly(self.loop)
572572
support.gc_collect()
573573

574-
if sys.version_info >= (3, 4):
575-
regex = f'^{self.cls.__name__} exception was never retrieved\n'
576-
exc_info = (type(exc), exc, exc.__traceback__)
577-
m_log.error.assert_called_once_with(mock.ANY, exc_info=exc_info)
578-
else:
579-
regex = r'^Future/Task exception was never retrieved\n'
580-
m_log.error.assert_called_once_with(mock.ANY, exc_info=False)
574+
regex = f'^{self.cls.__name__} exception was never retrieved\n'
575+
exc_info = (type(exc), exc, exc.__traceback__)
576+
m_log.error.assert_called_once_with(mock.ANY, exc_info=exc_info)
577+
581578
message = m_log.error.call_args[0][0]
582579
self.assertRegex(message, re.compile(regex, re.DOTALL))
583580

0 commit comments

Comments
 (0)