~ruther/guix-local

bc58201ec22aeb07b61dc1e482d6a57868436eef — Ludovic Courtès 8 years ago 33033a6
tests: Cgit test waits for /var/run/shepherd/socket.

Previously tests sometimes start before the shepherd was listening,
leading to test failures.

* gnu/tests/version-control.scm (run-cgit-test)[test]: Add "shepherd
socket ready" test.  Rename to two "service running" tests for clarity.
1 files changed, 20 insertions(+), 3 deletions(-)

M gnu/tests/version-control.scm
M gnu/tests/version-control.scm => gnu/tests/version-control.scm +20 -3
@@ 1,6 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.


@@ 130,8 130,25 @@ HTTP-PORT."

          (test-begin "cgit")

          ;; XXX: 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
                         'failure))))
             marionette))

          ;; Wait for nginx to be up and running.
          (test-eq "service running"
          (test-eq "nginx running"
            'running!
            (marionette-eval
             '(begin


@@ 141,7 158,7 @@ HTTP-PORT."
             marionette))

          ;; Wait for fcgiwrap to be up and running.
          (test-eq "service running"
          (test-eq "fcgiwrap running"
            'running!
            (marionette-eval
             '(begin