Skip to content

Commit 9f3db48

Browse files
committed
Fix tests on Python < 3.10.
1 parent 3b69a15 commit 9f3db48

File tree

2 files changed

+31
-15
lines changed

2 files changed

+31
-15
lines changed

tests/asyncio/test_connection.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,22 @@ 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+
@contextlib.contextmanager
49+
def assertNoLogs(self, logger="websockets", level=logging.ERROR):
50+
"""
51+
No message is logged on the given logger with at least the given level.
52+
53+
"""
54+
with self.assertLogs(logger, level) as logs:
55+
# We want to test that no log message is emitted
56+
# but assertLogs expects at least one log message.
57+
logging.getLogger(logger).log(level, "dummy")
58+
yield
59+
60+
level_name = logging.getLevelName(level)
61+
self.assertEqual(logs.output, [f"{level_name}:{logger}:dummy"])
62+
4763
# Test helpers built upon RecordingProtocol and InterceptingConnection.
4864

4965
async def assertFrameSent(self, frame):

tests/legacy/utils.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,21 @@ 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+
@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"])
7474

7575
def assertDeprecationWarnings(self, recorded_warnings, expected_warnings):
7676
"""

0 commit comments

Comments
 (0)