Skip to content

Commit 09b1d8d

Browse files
committed
Fix tests on Python < 3.10.
1 parent b05fa2c commit 09b1d8d

File tree

2 files changed

+33
-15
lines changed

2 files changed

+33
-15
lines changed

tests/asyncio/test_connection.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,23 @@ async def asyncTearDown(self):
4444
await self.remote_connection.close()
4545
await self.connection.close()
4646

47+
if sys.version_info[:2] < (3, 10): # pragma: no cover
48+
49+
@contextlib.contextmanager
50+
def assertNoLogs(self, logger="websockets", level=logging.ERROR):
51+
"""
52+
No message is logged on the given logger with at least the given level.
53+
54+
"""
55+
with self.assertLogs(logger, level) as logs:
56+
# We want to test that no log message is emitted
57+
# but assertLogs expects at least one log message.
58+
logging.getLogger(logger).log(level, "dummy")
59+
yield
60+
61+
level_name = logging.getLevelName(level)
62+
self.assertEqual(logs.output, [f"{level_name}:{logger}:dummy"])
63+
4764
# Test helpers built upon RecordingProtocol and InterceptingConnection.
4865

4966
async def assertFrameSent(self, frame):

tests/legacy/utils.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,22 @@ def run_loop_once(self):
5656
self.loop.call_soon(self.loop.stop)
5757
self.loop.run_forever()
5858

59-
# Remove when dropping Python < 3.10
60-
@contextlib.contextmanager
61-
def assertNoLogs(self, logger="websockets", level=logging.ERROR):
62-
"""
63-
No message is logged on the given logger with at least the given level.
64-
65-
"""
66-
with self.assertLogs(logger, level) as logs:
67-
# We want to test that no log message is emitted
68-
# but assertLogs expects at least one log message.
69-
logging.getLogger(logger).log(level, "dummy")
70-
yield
71-
72-
level_name = logging.getLevelName(level)
73-
self.assertEqual(logs.output, [f"{level_name}:{logger}:dummy"])
59+
if sys.version_info[:2] < (3, 10): # pragma: no cover
60+
61+
@contextlib.contextmanager
62+
def assertNoLogs(self, logger="websockets", level=logging.ERROR):
63+
"""
64+
No message is logged on the given logger with at least the given level.
65+
66+
"""
67+
with self.assertLogs(logger, level) as logs:
68+
# We want to test that no log message is emitted
69+
# but assertLogs expects at least one log message.
70+
logging.getLogger(logger).log(level, "dummy")
71+
yield
72+
73+
level_name = logging.getLevelName(level)
74+
self.assertEqual(logs.output, [f"{level_name}:{logger}:dummy"])
7475

7576
def assertDeprecationWarnings(self, recorded_warnings, expected_warnings):
7677
"""

0 commit comments

Comments
 (0)