mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-13 02:20:53 +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)
|
#:use-module (ice-9 match)
|
||||||
#:export (%test-httpd
|
#:export (%test-httpd
|
||||||
%test-nginx
|
%test-nginx
|
||||||
|
%test-nginx+anonip
|
||||||
%test-varnish
|
%test-varnish
|
||||||
%test-php-fpm
|
%test-php-fpm
|
||||||
%test-hpcguix-web
|
%test-hpcguix-web
|
||||||
|
@ -91,9 +92,11 @@
|
||||||
(sleep delay)
|
(sleep delay)
|
||||||
(loop (+ 1 attempt)))))))))
|
(loop (+ 1 attempt)))))))))
|
||||||
|
|
||||||
(define* (run-webserver-test name test-os #:key (log-file #f) (http-port 8080))
|
(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
|
extra-tests)
|
||||||
HTTP-PORT."
|
"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
|
(define os
|
||||||
(marionette-operating-system
|
(marionette-operating-system
|
||||||
test-os
|
test-os
|
||||||
|
@ -154,6 +157,8 @@ HTTP-PORT."
|
||||||
marionette)))
|
marionette)))
|
||||||
'())
|
'())
|
||||||
|
|
||||||
|
#$extra-tests
|
||||||
|
|
||||||
(test-end))))
|
(test-end))))
|
||||||
|
|
||||||
(gexp->derivation (string-append name "-test") test))
|
(gexp->derivation (string-append name "-test") test))
|
||||||
|
@ -209,6 +214,38 @@ HTTP-PORT."
|
||||||
(value (run-webserver-test name %nginx-os
|
(value (run-webserver-test name %nginx-os
|
||||||
#:log-file "/var/log/nginx/access.log"))))
|
#: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
|
;;; Varnish
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue