summary refs log tree commit diff
path: root/gnu/tests/install.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-06-26 14:44:12 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-06-26 14:49:32 +0200
commit1da6914589e06621a78ce0ed13f707cc767c2a3d (patch)
tree0abe1f4b3c7602a28de2f24a471d790eff036dd9 /gnu/tests/install.scm
parenteca649d06bd0da9768be1c0619a43a2aa358cb74 (diff)
downloadguix-1da6914589e06621a78ce0ed13f707cc767c2a3d.tar.gz
tests: install: Fix marionette race condition.
If the marionette shuts down before the script return is received, then status
will be <eof>.

* gnu/tests/install.scm (run-install): Allow status to be the <eof> object.
Diffstat (limited to 'gnu/tests/install.scm')
-rw-r--r--gnu/tests/install.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index db355b85ca..3323f8c9d8 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -301,7 +301,8 @@ packages defined in installation-os."
               ;; Run SCRIPT.  It typically invokes 'reboot' as a last step and
               ;; thus normally gets killed with SIGTERM by PID 1.
               (let ((status (marionette-eval '(system #$script) marionette)))
-                (exit (or (equal? (status:term-sig status) SIGTERM)
+                (exit (or (eof-object? status)
+                          (equal? (status:term-sig status) SIGTERM)
                           (equal? (status:exit-val status) 0)))))
 
             (when #$(->bool gui-test)