https://github.com/python/cpython/commit/fc2e84feb11564d705a76255c132f37c3868498e
commit: fc2e84feb11564d705a76255c132f37c3868498e
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: pablogsal <[email protected]>
date: 2025-08-18T13:55:44Z
summary:

[3.13] gh-123085: _compile_importlib: Avoid copying sources before compilation 
(GH-124131) (#137914)

gh-123085: _compile_importlib: Avoid copying sources before compilation 
(GH-124131)
(cherry picked from commit 42c8b0556c02d29e32f4c7c95e7128a343716250)

Co-authored-by: Petr Viktorin <[email protected]>
Co-authored-by: Jason R. Coombs <[email protected]>

files:
M Lib/test/test_importlib/resources/test_files.py

diff --git a/Lib/test/test_importlib/resources/test_files.py 
b/Lib/test/test_importlib/resources/test_files.py
index f903d3bba85ebc..db8a4e62a32dc6 100644
--- a/Lib/test/test_importlib/resources/test_files.py
+++ b/Lib/test/test_importlib/resources/test_files.py
@@ -154,18 +154,17 @@ def test_implicit_files_submodule(self):
     def _compile_importlib(self):
         """
         Make a compiled-only copy of the importlib resources package.
+
+        Currently only code is copied, as importlib resources doesn't itself
+        have any resources.
         """
         bin_site = self.fixtures.enter_context(os_helper.temp_dir())
         c_resources = pathlib.Path(bin_site, 'c_resources')
         sources = pathlib.Path(resources.__file__).parent
-        shutil.copytree(sources, c_resources, ignore=lambda *_: 
['__pycache__'])
-
-        for dirpath, _, filenames in os.walk(c_resources):
-            for filename in filenames:
-                source_path = pathlib.Path(dirpath) / filename
-                cfile = source_path.with_suffix('.pyc')
-                py_compile.compile(source_path, cfile)
-                pathlib.Path.unlink(source_path)
+
+        for source_path in sources.glob('**/*.py'):
+            c_path = 
c_resources.joinpath(source_path.relative_to(sources)).with_suffix('.pyc')
+            py_compile.compile(source_path, c_path)
         self.fixtures.enter_context(import_helper.DirsOnSysPath(bin_site))
 
     def test_implicit_files_with_compiled_importlib(self):

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to