guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: guix-commits
Subject: 02/08: marionette: Avoid read error when wait-for-file file is empty.
Date: Fri, 16 Sep 2022 06:39:31 -0400 (EDT)

cbaines pushed a commit to branch master
in repository guix.

commit ad5584bf25feb0b3f2e4bb328cedccbb71f42724
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Fri Sep 16 09:20:25 2022 +0200

    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
---
 gnu/build/marionette.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index fd59a4c72f..5ebf783892 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]