[Python-checkins] gh-96272: Replace `test_source_encoding`'s `test_pep263` with `test_import_encoded_module` from `test_imp` (GH-96275)

zware webhook-mailer at python.org
Thu Aug 25 15:19:50 EDT 2022


https://github.com/python/cpython/commit/ce1e73fbfd9ed165b20ff1c25367f1b9f0674263
commit: ce1e73fbfd9ed165b20ff1c25367f1b9f0674263
branch: main
author: Michael Droettboom <mdboom at gmail.com>
committer: zware <zachary.ware at gmail.com>
date: 2022-08-25T14:19:16-05:00
summary:

gh-96272: Replace `test_source_encoding`'s `test_pep263` with `test_import_encoded_module` from `test_imp` (GH-96275)

Editors don't agree that `test_source_encoding.py` was valid koi8-r, making it
hard to edit that file without the editor breaking it in some way (see gh-96272).

Only one test actually relied on the koi8-r encoding and it was a duplicate of a
test from the deprecated `imp` module's `test_imp`, so here we replace
`test_pep263` with `test_import_encoded_module` stolen from `test_imp` and
set `test_source_encoding.py`'s encoding to utf-8 to make editing it easier
going forward.

files:
M Lib/test/test_imp.py
M Lib/test/test_source_encoding.py

diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py
index d44dc6b49f2..35b6afa91eb 100644
--- a/Lib/test/test_imp.py
+++ b/Lib/test/test_imp.py
@@ -66,11 +66,7 @@ def setUp(self):
         self.test_strings = mod.test_strings
         self.test_path = mod.__path__
 
-    def test_import_encoded_module(self):
-        for modname, encoding, teststr in self.test_strings:
-            mod = importlib.import_module('test.encoded_modules.'
-                                          'module_' + modname)
-            self.assertEqual(teststr, mod.test)
+    # test_import_encoded_module moved to test_source_encoding.py
 
     def test_find_module_encoding(self):
         for mod, encoding, _ in self.test_strings:
diff --git a/Lib/test/test_source_encoding.py b/Lib/test/test_source_encoding.py
index 8d7b573c7e9..8e68b4eae33 100644
--- a/Lib/test/test_source_encoding.py
+++ b/Lib/test/test_source_encoding.py
@@ -1,4 +1,4 @@
-# -*- coding: koi8-r -*-
+# -*- coding: utf-8 -*-
 
 import unittest
 from test.support import script_helper, captured_stdout, requires_subprocess
@@ -12,15 +12,14 @@
 
 class MiscSourceEncodingTest(unittest.TestCase):
 
-    def test_pep263(self):
-        self.assertEqual(
-            "ðÉÔÏÎ".encode("utf-8"),
-            b'\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd'
-        )
-        self.assertEqual(
-            "\ð".encode("utf-8"),
-            b'\\\xd0\x9f'
-        )
+    def test_import_encoded_module(self):
+        from test.encoded_modules import test_strings
+        # Make sure we're actually testing something
+        self.assertGreaterEqual(len(test_strings), 1)
+        for modname, encoding, teststr in test_strings:
+            mod = importlib.import_module('test.encoded_modules.'
+                                          'module_' + modname)
+            self.assertEqual(teststr, mod.test)
 
     def test_compilestring(self):
         # see #1882



More information about the Python-checkins mailing list