From c4c92141fb48c85829aee7548c6b688f539bc493 Mon Sep 17 00:00:00 2001 From: Stefano Rivera Date: Wed, 22 Oct 2025 18:22:19 +0200 Subject: [PATCH] gh-126014: test_makefile_test_folders: Ignore basically-empty directories The code in test_makefile was attempting to ignore any any non-interesting files, but missed some corners: 1. There is never a *file* called `__pycache__`. 2. A directory containing only a `__pycache__` subdirectory should be ignored. 3. A directory containing only hidden files should be ignored. Simplify this all into a couple of filters that let us check for empty lists. --- Lib/test/test_tools/test_makefile.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Lib/test/test_tools/test_makefile.py b/Lib/test/test_tools/test_makefile.py index 4c7588d4d93fc3..31a516067394e1 100644 --- a/Lib/test/test_tools/test_makefile.py +++ b/Lib/test/test_tools/test_makefile.py @@ -48,15 +48,18 @@ def test_makefile_test_folders(self): if dirname == '__pycache__' or dirname.startswith('.'): dirs.clear() # do not process subfolders continue - # Skip empty dirs: + + # Skip empty dirs (ignoring hidden files and __pycache__): + files = [ + filename for filename in files + if not filename.startswith('.') + ] + dirs = [ + dirname for dirname in dirs + if not dirname.startswith('.') and dirname != "__pycache__" + ] if not dirs and not files: continue - # Skip dirs with hidden-only files: - if files and all( - filename.startswith('.') or filename == '__pycache__' - for filename in files - ): - continue relpath = os.path.relpath(dirpath, support.STDLIB_DIR) with self.subTest(relpath=relpath):