aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-11-17 10:26:01 +0100
committerLudovic Courtès <ludo@gnu.org>2022-11-17 11:10:09 +0100
commit00b9ab0a8332528bdfb4aee58ddb975596cb2042 (patch)
tree92d830ece40c11b0fa28f177efd3a9c40f748eeb /gnu
parentc9f927b7042d0cedadf7c29e83efaaa86a76b9e3 (diff)
downloadguix-00b9ab0a8332528bdfb4aee58ddb975596cb2042.tar.gz
guix-00b9ab0a8332528bdfb4aee58ddb975596cb2042.zip
tests: root-unmount: Wait for the first QEMU process to finish.
There was a tiny possibility that the first QEMU process would still be running by the time we launch the second one. * gnu/build/marionette.scm (marionette-pid): Export. * gnu/tests/base.scm (run-root-unmount-test)[test]: Add 'waitpid' call.
Diffstat (limited to 'gnu')
-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.