mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-10 16:50:43 +02:00
tests: web: Add nginx+anonip test.
This test reproduces the problem reported in bug #59181 ("[berlin] web services fail to start on reboot due to anonip"). * gnu/tests/web.scm (run-webserver-test) <extra-args>: New keyword argument. (%nginx+anonip-os, nginx-anonip-tests, %test-nginx+anonip): New variables. Change-Id: I7bbc8fb9f2ab33ce89bf1c0945d7ddbddf26a7ea
This commit is contained in:
parent
a595a52b7b
commit
bcb5724e59
1 changed files with 40 additions and 3 deletions
|
@ -50,6 +50,7 @@
|
|||
#:use-module (ice-9 match)
|
||||
#:export (%test-httpd
|
||||
%test-nginx
|
||||
%test-nginx+anonip
|
||||
%test-varnish
|
||||
%test-php-fpm
|
||||
%test-hpcguix-web
|
||||
|
@ -91,9 +92,11 @@
|
|||
(sleep delay)
|
||||
(loop (+ 1 attempt)))))))))
|
||||
|
||||
(define* (run-webserver-test name test-os #:key (log-file #f) (http-port 8080))
|
||||
"Run tests in %NGINX-OS, which has nginx running and listening on
|
||||
HTTP-PORT."
|
||||
(define* (run-webserver-test name test-os #:key (log-file #f) (http-port 8080)
|
||||
extra-tests)
|
||||
"Run tests in %NGINX-OS, which has nginx running and listening on HTTP-PORT.
|
||||
EXTRA-TESTS should be a sexp of gexp containing extra code to run as part of
|
||||
the tests."
|
||||
(define os
|
||||
(marionette-operating-system
|
||||
test-os
|
||||
|
@ -154,6 +157,8 @@ HTTP-PORT."
|
|||
marionette)))
|
||||
'())
|
||||
|
||||
#$extra-tests
|
||||
|
||||
(test-end))))
|
||||
|
||||
(gexp->derivation (string-append name "-test") test))
|
||||
|
@ -209,6 +214,38 @@ HTTP-PORT."
|
|||
(value (run-webserver-test name %nginx-os
|
||||
#:log-file "/var/log/nginx/access.log"))))
|
||||
|
||||
(define %nginx+anonip-os
|
||||
(simple-operating-system
|
||||
(service dhcp-client-service-type)
|
||||
(service anonip-service-type
|
||||
(anonip-configuration
|
||||
(input "/var/run/anonip/access.log")
|
||||
(output "/var/log/anonip/access.log")
|
||||
(debug? #t)))
|
||||
(service nginx-service-type
|
||||
(nginx-configuration
|
||||
(log-directory "/var/run/anonip/")
|
||||
(server-blocks %nginx-servers)
|
||||
(shepherd-requirement '(anonip-/var/log/anonip/access.log))))
|
||||
(simple-service 'make-http-root activation-service-type
|
||||
%make-http-root)))
|
||||
|
||||
(define nginx-anonip-tests
|
||||
#~(test-assert "anonip service is running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(wait-for-service 'anonip-/var/log/anonip/access.log))
|
||||
marionette)))
|
||||
|
||||
(define %test-nginx+anonip
|
||||
(system-test
|
||||
(name "nginx+anonip")
|
||||
(description "Run a NGINX server with logs anonymized by Anonip")
|
||||
(value (run-webserver-test "nginx" %nginx+anonip-os
|
||||
#:log-file "/var/log/anonip/access.log"
|
||||
#:extra-tests nginx-anonip-tests))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Varnish
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue