[Python-checkins] Fix EncodingWarning in test_tools. (GH-28846)

JulienPalard webhook-mailer at python.org
Sun Oct 10 03:14:47 EDT 2021


https://github.com/python/cpython/commit/a1c3c9e8245a88cf37b084869b3559638116daf7
commit: a1c3c9e8245a88cf37b084869b3559638116daf7
branch: main
author: Inada Naoki <songofacandy at gmail.com>
committer: JulienPalard <julien at palard.fr>
date: 2021-10-10T09:14:40+02:00
summary:

Fix EncodingWarning in test_tools. (GH-28846)

files:
M Lib/test/test_tools/test_fixcid.py
M Lib/test/test_tools/test_gprof2html.py
M Lib/test/test_tools/test_i18n.py
M Lib/test/test_tools/test_lll.py
M Lib/test/test_tools/test_pdeps.py
M Lib/test/test_tools/test_pindent.py
M Tools/scripts/gprof2html.py

diff --git a/Lib/test/test_tools/test_fixcid.py b/Lib/test/test_tools/test_fixcid.py
index 3df1368043719..a72f74b8b15b3 100644
--- a/Lib/test/test_tools/test_fixcid.py
+++ b/Lib/test/test_tools/test_fixcid.py
@@ -61,9 +61,10 @@ def test_directory(self):
         os.mkdir(os_helper.TESTFN)
         self.addCleanup(os_helper.rmtree, os_helper.TESTFN)
         c_filename = os.path.join(os_helper.TESTFN, "file.c")
-        with open(c_filename, "w") as file:
+        with open(c_filename, "w", encoding="utf-8") as file:
             file.write("int xx;\n")
-        with open(os.path.join(os_helper.TESTFN, "file.py"), "w") as file:
+        with open(os.path.join(os_helper.TESTFN, "file.py"), "w",
+                  encoding="utf-8") as file:
             file.write("xx = 'unaltered'\n")
         script = os.path.join(scriptsdir, "fixcid.py")
         output = self.run_script(args=(os_helper.TESTFN,))
@@ -76,7 +77,7 @@ def test_directory(self):
 
     def run_script(self, input="", *, args=("-",), substfile="xx yy\n"):
         substfilename = os_helper.TESTFN + ".subst"
-        with open(substfilename, "w") as file:
+        with open(substfilename, "w", encoding="utf-8") as file:
             file.write(substfile)
         self.addCleanup(os_helper.unlink, substfilename)
 
diff --git a/Lib/test/test_tools/test_gprof2html.py b/Lib/test/test_tools/test_gprof2html.py
index 9489ed91f9c1c..7cceb8faf8e5f 100644
--- a/Lib/test/test_tools/test_gprof2html.py
+++ b/Lib/test/test_tools/test_gprof2html.py
@@ -25,7 +25,7 @@ def test_gprof(self):
         with mock.patch.object(self.gprof, 'webbrowser') as wmock, \
                 tempfile.TemporaryDirectory() as tmpdir:
             fn = os.path.join(tmpdir, 'abc')
-            open(fn, 'w').close()
+            open(fn, 'wb').close()
             sys.argv = ['gprof2html', fn]
             self.gprof.main()
         self.assertTrue(wmock.open.called)
diff --git a/Lib/test/test_tools/test_i18n.py b/Lib/test/test_tools/test_i18n.py
index 12f778dbf8405..7f18edaaa8ca6 100644
--- a/Lib/test/test_tools/test_i18n.py
+++ b/Lib/test/test_tools/test_i18n.py
@@ -57,10 +57,10 @@ def extract_docstrings_from_str(self, module_content):
         """ utility: return all msgids extracted from module_content """
         filename = 'test_docstrings.py'
         with temp_cwd(None) as cwd:
-            with open(filename, 'w') as fp:
+            with open(filename, 'w', encoding='utf-8') as fp:
                 fp.write(module_content)
             assert_python_ok(self.script, '-D', filename)
-            with open('messages.pot') as fp:
+            with open('messages.pot', encoding='utf-8') as fp:
                 data = fp.read()
         return self.get_msgids(data)
 
@@ -70,7 +70,7 @@ def test_header(self):
         """
         with temp_cwd(None) as cwd:
             assert_python_ok(self.script)
-            with open('messages.pot') as fp:
+            with open('messages.pot', encoding='utf-8') as fp:
                 data = fp.read()
             header = self.get_header(data)
 
@@ -97,7 +97,7 @@ def test_POT_Creation_Date(self):
         from datetime import datetime
         with temp_cwd(None) as cwd:
             assert_python_ok(self.script)
-            with open('messages.pot') as fp:
+            with open('messages.pot', encoding='utf-8') as fp:
                 data = fp.read()
             header = self.get_header(data)
             creationDate = header['POT-Creation-Date']
@@ -299,16 +299,19 @@ def test_files_list(self):
         text3 = 'Text to ignore'
         with temp_cwd(None), temp_dir(None) as sdir:
             os.mkdir(os.path.join(sdir, 'pypkg'))
-            with open(os.path.join(sdir, 'pypkg', 'pymod.py'), 'w') as sfile:
+            with open(os.path.join(sdir, 'pypkg', 'pymod.py'), 'w',
+                      encoding='utf-8') as sfile:
                 sfile.write(f'_({text1!r})')
             os.mkdir(os.path.join(sdir, 'pkg.py'))
-            with open(os.path.join(sdir, 'pkg.py', 'pymod2.py'), 'w') as sfile:
+            with open(os.path.join(sdir, 'pkg.py', 'pymod2.py'), 'w',
+                      encoding='utf-8') as sfile:
                 sfile.write(f'_({text2!r})')
             os.mkdir(os.path.join(sdir, 'CVS'))
-            with open(os.path.join(sdir, 'CVS', 'pymod3.py'), 'w') as sfile:
+            with open(os.path.join(sdir, 'CVS', 'pymod3.py'), 'w',
+                      encoding='utf-8') as sfile:
                 sfile.write(f'_({text3!r})')
             assert_python_ok(self.script, sdir)
-            with open('messages.pot') as fp:
+            with open('messages.pot', encoding='utf-8') as fp:
                 data = fp.read()
             self.assertIn(f'msgid "{text1}"', data)
             self.assertIn(f'msgid "{text2}"', data)
diff --git a/Lib/test/test_tools/test_lll.py b/Lib/test/test_tools/test_lll.py
index ec0c97334fdeb..6eeb96ed9b67e 100644
--- a/Lib/test/test_tools/test_lll.py
+++ b/Lib/test/test_tools/test_lll.py
@@ -22,7 +22,7 @@ def test_lll_multiple_dirs(self):
             fn1 = os.path.join(dir1, 'foo1')
             fn2 = os.path.join(dir2, 'foo2')
             for fn, dir in (fn1, dir1), (fn2, dir2):
-                open(fn, 'w').close()
+                open(fn, 'wb').close()
                 os.symlink(fn, os.path.join(dir, 'symlink'))
 
             with support.captured_stdout() as output:
diff --git a/Lib/test/test_tools/test_pdeps.py b/Lib/test/test_tools/test_pdeps.py
index 27cbfe215d039..a986d10e499d9 100644
--- a/Lib/test/test_tools/test_pdeps.py
+++ b/Lib/test/test_tools/test_pdeps.py
@@ -19,7 +19,7 @@ def test_process_errors(self):
         # Issue #14492: m_import.match(line) can be None.
         with tempfile.TemporaryDirectory() as tmpdir:
             fn = os.path.join(tmpdir, 'foo')
-            with open(fn, 'w') as stream:
+            with open(fn, 'w', encoding='utf-8') as stream:
                 stream.write("#!/this/will/fail")
             self.pdeps.process(fn, {})
 
diff --git a/Lib/test/test_tools/test_pindent.py b/Lib/test/test_tools/test_pindent.py
index e7a547ad7d612..01f13850eae73 100644
--- a/Lib/test/test_tools/test_pindent.py
+++ b/Lib/test/test_tools/test_pindent.py
@@ -37,9 +37,9 @@ def test_selftest(self):
         self.maxDiff = None
         with os_helper.temp_dir() as directory:
             data_path = os.path.join(directory, '_test.py')
-            with open(self.script) as f:
+            with open(self.script, encoding='utf-8') as f:
                 closed = f.read()
-            with open(data_path, 'w') as f:
+            with open(data_path, 'w', encoding='utf-8') as f:
                 f.write(closed)
 
             rc, out, err = assert_python_ok(self.script, '-d', data_path)
@@ -47,9 +47,9 @@ def test_selftest(self):
             self.assertEqual(err, b'')
             backup = data_path + '~'
             self.assertTrue(os.path.exists(backup))
-            with open(backup) as f:
+            with open(backup, encoding='utf-8') as f:
                 self.assertEqual(f.read(), closed)
-            with open(data_path) as f:
+            with open(data_path, encoding='utf-8') as f:
                 clean = f.read()
             compile(clean, '_test.py', 'exec')
             self.assertEqual(self.pindent(clean, '-c'), closed)
@@ -58,20 +58,20 @@ def test_selftest(self):
             rc, out, err = assert_python_ok(self.script, '-c', data_path)
             self.assertEqual(out, b'')
             self.assertEqual(err, b'')
-            with open(backup) as f:
+            with open(backup, encoding='utf-8') as f:
                 self.assertEqual(f.read(), clean)
-            with open(data_path) as f:
+            with open(data_path, encoding='utf-8') as f:
                 self.assertEqual(f.read(), closed)
 
             broken = self.lstriplines(closed)
-            with open(data_path, 'w') as f:
+            with open(data_path, 'w', encoding='utf-8') as f:
                 f.write(broken)
             rc, out, err = assert_python_ok(self.script, '-r', data_path)
             self.assertEqual(out, b'')
             self.assertEqual(err, b'')
-            with open(backup) as f:
+            with open(backup, encoding='utf-8') as f:
                 self.assertEqual(f.read(), broken)
-            with open(data_path) as f:
+            with open(data_path, encoding='utf-8') as f:
                 indented = f.read()
             compile(indented, '_test.py', 'exec')
             self.assertEqual(self.pindent(broken, '-r'), indented)
diff --git a/Tools/scripts/gprof2html.py b/Tools/scripts/gprof2html.py
index b14def4ef8482..bf0530ef3e433 100755
--- a/Tools/scripts/gprof2html.py
+++ b/Tools/scripts/gprof2html.py
@@ -24,7 +24,7 @@
 """
 
 def add_escapes(filename):
-    with open(filename) as fp:
+    with open(filename, encoding="utf-8") as fp:
         for line in fp:
             yield html.escape(line)
 
@@ -79,7 +79,7 @@ def main():
         filename = sys.argv[1]
     outputfilename = filename + ".html"
     input = add_escapes(filename)
-    with open(outputfilename, "w") as output:
+    with open(outputfilename, "w", encoding="utf-8") as output:
         gprof2html(input, output, filename)
     webbrowser.open("file:" + os.path.abspath(outputfilename))
 



More information about the Python-checkins mailing list