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