summary refs log tree commit diff
path: root/gnu/tests
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-07-08 23:58:22 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-07-08 23:58:22 +0200
commit873325b0307a709be6f305472a5bfb9e07437aaa (patch)
treeb271f28b229f983841ca7b16c4d3cc52582c864e /gnu/tests
parent68ee10da03b09c2acead8891e4b51c718c24d574 (diff)
parent6a8299d267d111da4c80bbdfc83eb5cdfc072b4a (diff)
downloadguix-873325b0307a709be6f305472a5bfb9e07437aaa.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/tests')
-rw-r--r--gnu/tests/base.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 4c24cf57f6..0efb4a6e55 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -100,6 +100,23 @@ initialization step, such as entering a LUKS passphrase."
                                     version)
                     (string-prefix? architecture %host-type)))))
 
+          ;; Shepherd reads the config file *before* binding its control
+          ;; socket, so /var/run/shepherd/socket might not exist yet when the
+          ;; 'marionette' service is started.
+          (test-assert "shepherd socket ready"
+            (marionette-eval
+             `(begin
+                (use-modules (gnu services herd))
+                (let loop ((i 10))
+                  (cond ((file-exists? (%shepherd-socket-file))
+                         #t)
+                        ((> i 0)
+                         (sleep 1)
+                         (loop (- i 1)))
+                        (else
+                         #f))))
+             marionette))
+
           (test-assert "shell and user commands"
             ;; Is everything in $PATH?
             (zero? (marionette-eval '(system "