https://github.com/python/cpython/commit/a083633fa046386b8cdaae0c87fef25289dde9a1
commit: a083633fa046386b8cdaae0c87fef25289dde9a1
branch: main
author: Victor Stinner <vstin...@python.org>
committer: vstinner <vstin...@python.org>
date: 2025-02-27T11:07:08+01:00
summary:

gh-109959: Remove test_glob.test_selflink() (#130551)

The test is not reliable, it fails randomly on Linux:
https://github.com/python/cpython/issues/109959#issuecomment-2577550700

files:
M Lib/test/test_glob.py

diff --git a/Lib/test/test_glob.py b/Lib/test/test_glob.py
index a45b30599d5309..da73769c16e9af 100644
--- a/Lib/test/test_glob.py
+++ b/Lib/test/test_glob.py
@@ -515,63 +515,5 @@ def fn(pat):
         self.assertEqual(fn('**/*'), r'(?s:(?:.+[/\\])?[^/\\]+)\Z')
 
 
-@skip_unless_symlink
-class SymlinkLoopGlobTests(unittest.TestCase):
-
-    # gh-109959: On Linux, glob._isdir() and glob._lexists() can return False
-    # randomly when checking the "link/" symbolic link.
-    # https://github.com/python/cpython/issues/109959#issuecomment-2577550700
-    @unittest.skip("flaky test")
-    def test_selflink(self):
-        tempdir = TESTFN + "_dir"
-        os.makedirs(tempdir)
-        self.addCleanup(shutil.rmtree, tempdir)
-        with change_cwd(tempdir):
-            if support.verbose:
-                cwd = os.getcwd()
-                print(f"cwd: {cwd} ({len(cwd)} chars)")
-                cwdb = os.getcwdb()
-                print(f"cwdb: {cwdb!r} ({len(cwdb)} bytes)")
-
-            os.makedirs('dir')
-            create_empty_file(os.path.join('dir', 'file'))
-            os.symlink(os.curdir, os.path.join('dir', 'link'))
-
-            results = glob.glob('**', recursive=True)
-            self.assertEqual(len(results), len(set(results)))
-            results = set(results)
-            depth = 0
-            while results:
-                path = os.path.join(*(['dir'] + ['link'] * depth))
-                self.assertIn(path, results)
-                results.remove(path)
-                if not results:
-                    break
-                path = os.path.join(path, 'file')
-                self.assertIn(path, results)
-                results.remove(path)
-                depth += 1
-
-            results = glob.glob(os.path.join('**', 'file'), recursive=True)
-            self.assertEqual(len(results), len(set(results)))
-            results = set(results)
-            depth = 0
-            while results:
-                path = os.path.join(*(['dir'] + ['link'] * depth + ['file']))
-                self.assertIn(path, results)
-                results.remove(path)
-                depth += 1
-
-            results = glob.glob(os.path.join('**', ''), recursive=True)
-            self.assertEqual(len(results), len(set(results)))
-            results = set(results)
-            depth = 0
-            while results:
-                path = os.path.join(*(['dir'] + ['link'] * depth + ['']))
-                self.assertIn(path, results)
-                results.remove(path)
-                depth += 1
-
-
 if __name__ == "__main__":
     unittest.main()

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to