diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-11-17 10:26:01 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-11-17 11:10:09 +0100 |
commit | 00b9ab0a8332528bdfb4aee58ddb975596cb2042 (patch) | |
tree | 92d830ece40c11b0fa28f177efd3a9c40f748eeb | |
parent | c9f927b7042d0cedadf7c29e83efaaa86a76b9e3 (diff) | |
download | guix-00b9ab0a8332528bdfb4aee58ddb975596cb2042.tar guix-00b9ab0a8332528bdfb4aee58ddb975596cb2042.tar.gz |
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.
-rw-r--r-- | gnu/build/marionette.scm | 1 | ||||
-rw-r--r-- | gnu/tests/base.scm | 8 |
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. |