summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/build/marionette.scm1
-rw-r--r--gnu/tests/base.scm8
2 files changed, 8 insertions, 1 deletions
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index f4b219e842..b8fba61d06 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -28,6 +28,7 @@
   #:use-module (ice-9 popen)
   #:use-module (ice-9 regex)
   #:export (marionette?
+            marionette-pid
             make-marionette
             marionette-eval
             wait-for-file
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 64cd6a911a..87518b4bfe 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -695,7 +695,13 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
 
             ;; Halt the system.
             (marionette-eval '(system* "/run/current-system/profile/sbin/halt")
-                             marionette))
+                             marionette)
+
+            (display "waiting for marionette to complete...")
+            (force-output)
+            (false-if-exception (waitpid (marionette-pid marionette)))
+            (display " done\n")
+            (force-output))
 
           ;; Remove the sockets used by the marionette above to avoid
           ;; EADDRINUSE.