Fix test hanging reading FIFO when `borg create` failed

This commit is contained in:
Peter Gerber 2023-02-01 20:23:17 +01:00
parent f25f6a8e33
commit 8ce3d22358
1 changed files with 6 additions and 0 deletions

View File

@ -784,6 +784,12 @@ class ArchiverTestCase(ArchiverTestCaseBase):
try:
self.cmd(f"--repo={self.repository_location}", "create", "--read-special", "test", "input/link_fifo")
finally:
# In case `borg create` failed to open FIFO, read all data to avoid join() hanging.
fd = os.open(fifo_fn, os.O_RDONLY | os.O_NONBLOCK)
try:
os.read(fd, len(data))
finally:
os.close(fd)
t.join()
with changedir("output"):
self.cmd(f"--repo={self.repository_location}", "extract", "test")