summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_glob.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_glob.py b/Lib/test/test_glob.py
index 2de9975..6719bdb 100644
--- a/Lib/test/test_glob.py
+++ b/Lib/test/test_glob.py
@@ -41,6 +41,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:
@@ -350,6 +355,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', ''), [])