diff options
| author | Inada Naoki <songofacandy@gmail.com> | 2021-04-27 13:16:28 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-27 13:16:28 +0900 |
| commit | cfe523b49280cdc8c239c807121ad3f33552f638 (patch) | |
| tree | ca00ebc35f6401b27bd7276288bfc99716d362a9 /Lib | |
| parent | 743e2bae10d2010fd1e29b772c9da64efc7c9c47 (diff) | |
| download | cpython-git-cfe523b49280cdc8c239c807121ad3f33552f638.tar.gz | |
bpo-43651: PEP 597: Fix `socket.makefile()` (GH-25645)
Diffstat (limited to 'Lib')
| -rwxr-xr-x | Lib/socket.py | 1 | ||||
| -rwxr-xr-x | Lib/test/test_socket.py | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/Lib/socket.py b/Lib/socket.py index 5276cc8ba3..fc11eb783c 100755 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -337,6 +337,7 @@ class socket(_socket.socket): buffer = io.BufferedWriter(raw, buffering) if binary: return buffer + encoding = io.text_encoding(encoding) text = io.TextIOWrapper(buffer, encoding, errors, newline) text.mode = mode return text diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 43a1d5bdcf..3c45278748 100755 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -1678,7 +1678,8 @@ class GeneralModuleTests(unittest.TestCase): for mode in 'r', 'rb', 'rw', 'w', 'wb': with self.subTest(mode=mode): with socket.socket() as sock: - with sock.makefile(mode) as fp: + encoding = None if "b" in mode else "utf-8" + with sock.makefile(mode, encoding=encoding) as fp: self.assertEqual(fp.mode, mode) def test_makefile_invalid_mode(self): @@ -5625,7 +5626,7 @@ def isTipcAvailable(): if not hasattr(socket, "AF_TIPC"): return False try: - f = open("/proc/modules") + f = open("/proc/modules", encoding="utf-8") except (FileNotFoundError, IsADirectoryError, PermissionError): # It's ok if the file does not exist, is a directory or if we # have not the permission to read it. @@ -6222,7 +6223,7 @@ class SendfileUsingSendTest(ThreadedTCPSocketTest): meth = self.meth_from_sock(s) self.assertRaisesRegex( ValueError, "SOCK_STREAM", meth, file) - with open(os_helper.TESTFN, 'rt') as file: + with open(os_helper.TESTFN, encoding="utf-8") as file: with socket.socket() as s: meth = self.meth_from_sock(s) self.assertRaisesRegex( |
