8000 Perform asyncio cleanup as part of Doctest teardown. · python/cpython@6c794e0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6c794e0

Browse files
committed
Perform asyncio cleanup as part of Doctest teardown.
1 parent e8ed3a8 commit 6c794e0

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

Lib/test/test_pdb.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ def __exit__(self, *exc):
4242
if self.orig_trace:
4343
sys.settrace(self.orig_trace)
4444

45-
# To prevent a warning "test altered the execution environment" if
46-
# asyncio features are used.
47-
_set_event_loop_policy(None)
48-
4945

5046
def test_pdb_displayhook():
5147
"""This tests the custom displayhook for pdb.
@@ -4675,13 +4671,33 @@ def func():
46754671

46764672
def load_tests(loader, tests, pattern):
46774673
from test import test_pdb
4674+
46784675
def setUpPdbBackend(backend):
46794676
def setUp(test):
46804677
import pdb
46814678
pdb.set_default_backend(backend)
46824679
return setUp
4683-
tests.addTest(doctest.DocTestSuite(test_pdb, setUp=setUpPdbBackend('monitoring')))
4684-
tests.addTest(doctest.DocTestSuite(test_pdb, setUp=setUpPdbBackend('settrace')))
4680+
4681+
def tearDown(test):
4682+
# Ensure that asyncio state has been cleared at the end of the test.
4683+
# This prevents a "test altered the execution environment" warning if
4684+
# asyncio features are used.
4685+
_set_event_loop_policy(None)
4686+
4687+
tests.addTest(
4688+
doctest.DocTestSuite(
4689+
test_pdb,
4690+
setUp=setUpPdbBackend('monitoring'),
4691+
tearDown=tearDown,
4692+
)
4693+
)
4694+
tests.addTest(
4695+
doctest.DocTestSuite(
4696+
test_pdb,
4697+
setUp=setUpPdbBackend('settrace'),
4698+
tearDown=tearDown,
4699+
)
4700+
)
46854701
return tests
46864702

46874703

0 commit comments

Comments
 (0)
0