mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: tests: Fix guix-data-service test.
Since revision 32, guix-data-service starts immediately but returns an HTTP error code until initialization is complete. Adjust the test accordingly, and remove the increased startup time limit. * gnu/services/guix.scm (guix-data-service): Use default #:pid-file-timeout. * gnu/tests/guix.scm (guix-data-service): Retry the http-get test several times to give the service time to initialize. Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
parent
9238ba5874
commit
6a2a8ca1f5
2 changed files with 15 additions and 8 deletions
|
@ -652,8 +652,6 @@ (define (guix-data-service-shepherd-services config)
|
||||||
#:user #$user
|
#:user #$user
|
||||||
#:group #$group
|
#:group #$group
|
||||||
#:pid-file "/var/run/guix-data-service/pid"
|
#:pid-file "/var/run/guix-data-service/pid"
|
||||||
;; Allow time for migrations to run
|
|
||||||
#:pid-file-timeout 120
|
|
||||||
#:environment-variables
|
#:environment-variables
|
||||||
`(,(string-append
|
`(,(string-append
|
||||||
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
|
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
|
||||||
|
|
|
@ -222,14 +222,23 @@ (define marionette
|
||||||
((pid) (number? pid))))))
|
((pid) (number? pid))))))
|
||||||
marionette))
|
marionette))
|
||||||
|
|
||||||
|
;; The service starts immediately but replies with status 500 until
|
||||||
|
;; initialization is complete, so keep trying for a while.
|
||||||
|
(define (try-http-get attempts)
|
||||||
|
(let ((status
|
||||||
|
(let-values (((response text)
|
||||||
|
(http-get #$(simple-format
|
||||||
|
#f "http://localhost:~A/healthcheck"
|
||||||
|
forwarded-port))))
|
||||||
|
(response-code response))))
|
||||||
|
(if (or (= status 200) (<= attempts 1))
|
||||||
|
status
|
||||||
|
(begin (sleep 5)
|
||||||
|
(try-http-get (- attempts 1))))))
|
||||||
|
|
||||||
(test-equal "http-get"
|
(test-equal "http-get"
|
||||||
200
|
200
|
||||||
(let-values
|
(try-http-get 12))
|
||||||
(((response text)
|
|
||||||
(http-get #$(simple-format
|
|
||||||
#f "http://localhost:~A/healthcheck" forwarded-port)
|
|
||||||
#:decode-body? #t)))
|
|
||||||
(response-code response)))
|
|
||||||
|
|
||||||
(test-end))))
|
(test-end))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue