From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 22 Mar 2024 10:21:53 +0000 (+0100) Subject: [3.11] gh-117127: glob tests: Reopen dir_fd to pick up directory changes (GH-117128... X-Git-Tag: v3.11.9~24 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=844012546098b3c139f546ac7db0d446146656c2;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-117127: glob tests: Reopen dir_fd to pick up directory changes (GH-117128) (GH-117149) gh-117127: glob tests: Reopen dir_fd to pick up directory changes (GH-117128) (cherry picked from commit 42ae924d278c48a719fb0ab86357f3235a9f7ab9) Co-authored-by: Petr Viktorin --- diff --git a/Lib/test/test_glob.py b/Lib/test/test_glob.py index faf5bd85cc81..e11ea81a7d46 100644 --- a/Lib/test/test_glob.py +++ b/Lib/test/test_glob.py @@ -40,6 +40,11 @@ class GlobTests(unittest.TestCase): os.symlink(self.norm('broken'), self.norm('sym1')) os.symlink('broken', self.norm('sym2')) os.symlink(os.path.join('a', 'bcd'), self.norm('sym3')) + self.open_dirfd() + + def open_dirfd(self): + if self.dir_fd is not None: + os.close(self.dir_fd) if {os.open, os.stat} <= os.supports_dir_fd and os.scandir in os.supports_fd: self.dir_fd = os.open(self.tempdir, os.O_RDONLY | os.O_DIRECTORY) else: @@ -349,6 +354,10 @@ class GlobTests(unittest.TestCase): def test_glob_named_pipe(self): path = os.path.join(self.tempdir, 'mypipe') os.mkfifo(path) + + # gh-117127: Reopen self.dir_fd to pick up directory changes + self.open_dirfd() + self.assertEqual(self.rglob('mypipe'), [path]) self.assertEqual(self.rglob('mypipe*'), [path]) self.assertEqual(self.rglob('mypipe', ''), [])