Skip to content

Commit cfe523b

Browse files
authored
bpo-43651: PEP 597: Fix socket.makefile() (GH-25645)
1 parent 743e2ba commit cfe523b

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

Lib/socket.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ def makefile(self, mode="r", buffering=None, *,
337337
buffer = io.BufferedWriter(raw, buffering)
338338
if binary:
339339
return buffer
340+
encoding = io.text_encoding(encoding)
340341
text = io.TextIOWrapper(buffer, encoding, errors, newline)
341342
text.mode = mode
342343
return text

Lib/test/test_socket.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1678,7 +1678,8 @@ def test_makefile_mode(self):
16781678
for mode in 'r', 'rb', 'rw', 'w', 'wb':
16791679
with self.subTest(mode=mode):
16801680
with socket.socket() as sock:
1681-
with sock.makefile(mode) as fp:
1681+
encoding = None if "b" in mode else "utf-8"
1682+
with sock.makefile(mode, encoding=encoding) as fp:
16821683
self.assertEqual(fp.mode, mode)
16831684

16841685
def test_makefile_invalid_mode(self):
@@ -5625,7 +5626,7 @@ def isTipcAvailable():
56255626
if not hasattr(socket, "AF_TIPC"):
56265627
return False
56275628
try:
5628-
f = open("/proc/modules")
5629+
f = open("/proc/modules", encoding="utf-8")
56295630
except (FileNotFoundError, IsADirectoryError, PermissionError):
56305631
# It's ok if the file does not exist, is a directory or if we
56315632
# have not the permission to read it.
@@ -6222,7 +6223,7 @@ def test_errors(self):
62226223
meth = self.meth_from_sock(s)
62236224
self.assertRaisesRegex(
62246225
ValueError, "SOCK_STREAM", meth, file)
6225-
with open(os_helper.TESTFN, 'rt') as file:
6226+
with open(os_helper.TESTFN, encoding="utf-8") as file:
62266227
with socket.socket() as s:
62276228
meth = self.meth_from_sock(s)
62286229
self.assertRaisesRegex(

0 commit comments

Comments
 (0)