tests: cuirass: Restore "cuirass running".

This is a follow-up of ab054868af. The test was
failing because the Shepherd control socket wasn't ready yet. Restore it but
make sure that the control socket is available first.

* gnu/tests/cuirass.scm ("shepherd socket ready"): New test.
("cuirass running"): Restore it.
This commit is contained in:
Mathieu Othacehe 2021-02-23 11:54:53 +01:00
parent ab054868af
commit 0de0074844
No known key found for this signature in database
GPG key ID: 8354763531769CA6

View file

@ -191,6 +191,32 @@ (define* (retry f #:key times delay)
(test-begin "cuirass")
;; 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 cuirass to be up and running.
(test-assert "cuirass running"
(marionette-eval
'(begin
(use-modules (gnu services herd))
(start-service 'cuirass)
#t)
marionette))
(test-assert "cuirass-web running"
(begin
(wait-for-tcp-port #$cuirass-web-port marionette)