1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

marionette: Avoid read error when wait-for-file file is empty.

Since #<eof> can't be read.

* gnu/build/marionette.scm (wait-for-file): Return "" if file is empty.

Partially-Fixes: https://issues.guix.gnu.org/57827
This commit is contained in:
Christopher Baines
2022-09-16 09:20:25 +02:00
parent 0f46d4f147
commit ad5584bf25

View File

@@ -198,7 +198,14 @@ FILE has not shown up after TIMEOUT seconds, raise an error."
(match (marionette-eval
`(let loop ((i ,timeout))
(cond ((file-exists? ,file)
(cons 'success (call-with-input-file ,file ,read)))
(cons 'success
(let ((content
(call-with-input-file ,file ,read)))
(if (eof-object? content)
;; #<eof> can't be read, so convert to the
;; empty string
""
content))))
((> i 0)
(sleep 1)
(loop (- i 1)))