summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/tests/install.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 9ecc45cc04..4f650ffb34 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -270,8 +270,12 @@ packages defined in installation-os."
                                   (lambda (port)
                                     (write '#$target-os-source port)))
                                marionette)
-              (exit (marionette-eval '(zero? (system #$script))
-                                     marionette)))
+
+              ;; 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)
+                          (equal? (status:exit-val status) 0)))))
 
             (when #$(->bool gui-test)
               (wait-for-unix-socket "/var/guix/installer-socket"