diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-03-22 10:24:06 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-22 10:24:06 (GMT) |
commit | d99ffc5a4b74e541c59b0e8ca034b74d5a76a730 (patch) | |
tree | bc922522a7293e5ff8ac9d53a631ee70bec1ef35 | |
parent | ad0ff8603432d08fcd9521799e6a38ba941b7e60 (diff) | |
download | cpython-d99ffc5a4b74e541c59b0e8ca034b74d5a76a730.zip cpython-d99ffc5a4b74e541c59b0e8ca034b74d5a76a730.tar.gz cpython-d99ffc5a4b74e541c59b0e8ca034b74d5a76a730.tar.bz2 |
[3.12] gh-117127: glob tests: Reopen dir_fd to pick up directory changes (GH-117128) (GH-117150)
gh-117127: glob tests: Reopen dir_fd to pick up directory changes (GH-117128)
(cherry picked from commit 42ae924d278c48a719fb0ab86357f3235a9f7ab9)
Co-authored-by: Petr Viktorin <encukou@gmail.com>
-rw-r--r-- | Lib/test/test_glob.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_glob.py b/Lib/test/test_glob.py index faf5bd8..e11ea81 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', ''), []) |