Skip to content

Commit 339445e

Browse files
committed
add support.set_event_loop_policy for setting the event loop policy in tests
1 parent 43cbdb2 commit 339445e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+90
-64
lines changed

Lib/test/libregrtest/save_env.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def get_asyncio_events__event_loop_policy(self):
9797
return support.maybe_get_event_loop_policy()
9898
def restore_asyncio_events__event_loop_policy(self, policy):
9999
asyncio = self.get_module('asyncio')
100-
asyncio.set_event_loop_policy(policy)
100+
support.set_event_loop_policy(policy)
101101

102102
def get_sys_argv(self):
103103
return id(sys.argv), sys.argv, sys.argv[:]

Lib/test/support/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2089,6 +2089,13 @@ def maybe_get_event_loop_policy():
20892089
import asyncio.events
20902090
return asyncio.events._event_loop_policy
20912091

2092+
def set_event_loop_policy(policy):
2093+
"""Set the global event loop policy ignoring deprecation warnings"""
2094+
import asyncio
2095+
with warnings.catch_warnings():
2096+
warnings.simplefilter("ignore", DeprecationWarning)
2097+
asyncio.set_event_loop_policy(policy)
2098+
20922099
# Helpers for testing hashing.
20932100
NHASHBITS = sys.hash_info.width # number of bits in hash() result
20942101
assert NHASHBITS in (32, 64)

Lib/test/test_asyncgen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ def setUp(self):
429429
def tearDown(self):
430430
self.loop.close()
431431
self.loop = None
432-
asyncio.set_event_loop_policy(None)
432+
support.set_event_loop_policy(None)
433433

434434
def check_async_iterator_anext(self, ait_class):
435435
with self.subTest(anext="pure-Python"):

Lib/test/test_asyncio/test_base_events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525

2626
def tearDownModule():
27-
asyncio.set_event_loop_policy(None)
27+
support.set_event_loop_policy(None)
2828

2929

3030
def mock_socket_module():

Lib/test/test_asyncio/test_buffered_proto.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
import unittest
33

44
from test.test_asyncio import functional as func_tests
5+
from test import support
56

67

78
def tearDownModule():
8-
asyncio.set_event_loop_policy(None)
9+
support.set_event_loop_policy(None)
910

1011

1112
class ReceiveStuffProto(asyncio.BufferedProtocol):

Lib/test/test_asyncio/test_context.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import asyncio
22
import decimal
33
import unittest
4+
from test import support
45

56

67
def tearDownModule():
7-
asyncio.set_event_loop_policy(None)
8+
support.set_event_loop_policy(None)
89

910

1011
@unittest.skipUnless(decimal.HAVE_CONTEXTVAR, "decimal is built with a thread-local context")

Lib/test/test_asyncio/test_eager_task_factory.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
from asyncio import tasks
99
from test.test_asyncio import utils as test_utils
1010
from test.support.script_helper import assert_python_ok
11+
from test import support
1112

1213
MOCK_ANY = mock.ANY
1314

1415

1516
def tearDownModule():
16-
asyncio.set_event_loop_policy(None)
17+
support.set_event_loop_policy(None)
1718

1819

1920
class EagerTaskFactoryLoopTests:

Lib/test/test_asyncio/test_events.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040

4141
def tearDownModule():
42-
asyncio.set_event_loop_policy(None)
42+
support.set_event_loop_policy(None)
4343

4444

4545
def broken_unix_getsockname():
@@ -2684,8 +2684,9 @@ def test_get_event_loop_policy(self):
26842684
self.assertIs(policy, asyncio.get_event_loop_policy())
26852685

26862686
def test_set_event_loop_policy(self):
2687-
self.assertRaises(
2688-
TypeError, asyncio.set_event_loop_policy, object())
2687+
with self.assertWarns(DeprecationWarning):
2688+
self.assertRaises(
2689+
TypeError, asyncio.set_event_loop_policy, object())
26892690

26902691
old_policy = asyncio.get_event_loop_policy()
26912692

@@ -2790,7 +2791,8 @@ def get_event_loop(self):
27902791

27912792
old_policy = asyncio.get_event_loop_policy()
27922793
try:
2793-
asyncio.set_event_loop_policy(Policy())
2794+
with self.assertWarns(DeprecationWarning):
2795+
asyncio.set_event_loop_policy(Policy())
27942796
loop = asyncio.new_event_loop()
27952797

27962798
with self.assertRaises(TestError):
@@ -2818,7 +2820,7 @@ async def func():
28182820
asyncio.get_event_loop()
28192821

28202822
finally:
2821-
asyncio.set_event_loop_policy(old_policy)
2823+
support.set_event_loop_policy(old_policy)
28222824
if loop is not None:
28232825
loop.close()
28242826

@@ -2830,7 +2832,8 @@ async def func():
28302832
def test_get_event_loop_returns_running_loop2(self):
28312833
old_policy = asyncio.get_event_loop_policy()
28322834
try:
2833-
asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy())
2835+
with self.assertWarns(DeprecationWarning):
2836+
asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy())
28342837
loop = asyncio.new_event_loop()
28352838
self.addCleanup(loop.close)
28362839

@@ -2861,7 +2864,7 @@ async def func():
28612864
asyncio.get_event_loop()
28622865

28632866
finally:
2864-
asyncio.set_event_loop_policy(old_policy)
2867+
support.set_event_loop_policy(old_policy)
28652868
if loop is not None:
28662869
loop.close()
28672870

Lib/test/test_asyncio/test_futures.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717

1818
def tearDownModule():
19-
asyncio.set_event_loop_policy(None)
19+
support.set_event_loop_policy(None)
2020

2121

2222
def _fakefunc(f):

Lib/test/test_asyncio/test_futures2.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import traceback
55
import unittest
66
from asyncio import tasks
7+
from test import support
78

89

910
def tearDownModule():
10-
asyncio.set_event_loop_policy(None)
11+
support.set_event_loop_policy(None)
1112

1213

1314
class FutureTests:

0 commit comments

Comments
 (0)