guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/10: tests: basic: Wait for /var/run/shepherd/socket to be ready.


From: Ludovic Courtès
Subject: 07/10: tests: basic: Wait for /var/run/shepherd/socket to be ready.
Date: Tue, 3 Jul 2018 11:50:15 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 3c78f5b5c341aa741a39417e6007dbaf369438f8
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jul 3 15:29:37 2018 +0200

    tests: basic: Wait for /var/run/shepherd/socket to be ready.
    
    * gnu/tests/base.scm (run-basic-test)["shepherd socket ready"]: New test.
---
 gnu/tests/base.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 4c24cf5..0efb4a6 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 "



reply via email to

[Prev in Thread] Current Thread [Next in Thread]