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

* gnu/tests/base.scm (run-basic-test)["shepherd socket ready"]: New test.
master
Ludovic Courtès 2018-07-03 15:29:37 +02:00
parent 86eee976f5
commit 3c78f5b5c3
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 17 additions and 0 deletions

View File

@ -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 "