summaryrefslogtreecommitdiffstats
path: root/Lib/os.py
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2021-04-04 00:01:23 (GMT)
committerGitHub <noreply@github.com>2021-04-04 00:01:23 (GMT)
commit35715d1e72b7e15e337087863c75af447199e0fb (patch)
tree2af3473ba410ffc4b83d74df4d0776814095f25d /Lib/os.py
parentdc6d3e1e4c0c1e4b2210edab8fb4762569dc2936 (diff)
downloadcpython-35715d1e72b7e15e337087863c75af447199e0fb.zip
cpython-35715d1e72b7e15e337087863c75af447199e0fb.tar.gz
cpython-35715d1e72b7e15e337087863c75af447199e0fb.tar.bz2
bpo-43651: PEP 597: Fix EncodingWarning in some tests (GH-25145)
* test_asyncio * test_bz2 * test_math * test_cmath * test_cmd_line * test_cmd_line_script * test_compile * test_contextlib * test_profile * ctypes/test/test_find * test_multiprocessing * test_configparser * test_csv * test_dbm_dumb * test_decimal * test_difflib * os.fdopen() calls io.text_encoding() to emit EncodingWarning for right place.
Diffstat (limited to 'Lib/os.py')
-rw-r--r--Lib/os.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/os.py b/Lib/os.py
index 05e9c32..ea09e8c 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -1020,11 +1020,13 @@ if sys.platform != 'vxworks':
__all__.append("popen")
# Supply os.fdopen()
-def fdopen(fd, *args, **kwargs):
+def fdopen(fd, mode="r", buffering=-1, encoding=None, *args, **kwargs):
if not isinstance(fd, int):
raise TypeError("invalid fd type (%s, expected integer)" % type(fd))
import io
- return io.open(fd, *args, **kwargs)
+ if "b" not in mode:
+ encoding = io.text_encoding(encoding)
+ return io.open(fd, mode, buffering, encoding, *args, **kwargs)
# For testing purposes, make sure the function is available when the C