aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests
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
parenteca649d06bd0da9768be1c0619a43a2aa358cb74 (diff)
downloadguix-1da6914589e06621a78ce0ed13f707cc767c2a3d.tar
guix-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')
-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)