From 73eeeeafbb0765f76834b53c9fe6cf3c8f740840 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 29 Apr 2022 16:43:52 +0200 Subject: tests: Avoid starting services to check whether they're running. Fixes a regression introduced in the Shepherd 0.9.0 whereby clients can start a service that is already being started, leading to two instances of the process (and usually failure of the second attempt to start it). Partly fixes . Reported by Mathieu Othacehe. * gnu/tests/version-control.scm (run-cgit-test) ["nginx running", "fcgiwrap running"]: Wail for a file/TCP port instead of starting the service. (run-git-http-test)["nginx running"]: Likewise. (run-gitile-test)["nginx running"]: Likewise. --- gnu/tests/version-control.scm | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index fd3dba88ba..18c68a58f2 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Oleg Pykhalov -;;; Copyright © 2017, 2018, 2020, 2021 Ludovic Courtès +;;; Copyright © 2017-2018, 2020-2022 Ludovic Courtès ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2018 Christopher Baines ;;; @@ -154,19 +154,11 @@ HTTP-PORT." ;; Wait for nginx to be up and running. (test-assert "nginx running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'nginx)) - marionette)) + (wait-for-file "/var/run/nginx/pid" marionette)) ;; Wait for fcgiwrap to be up and running. (test-assert "fcgiwrap running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'fcgiwrap)) - marionette)) + (wait-for-tcp-port 9000 marionette)) ;; Make sure the PID file is created. (test-assert "PID file" @@ -272,11 +264,7 @@ HTTP-PORT." ;; Wait for nginx to be up and running. (test-assert "nginx running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'nginx)) - marionette)) + (wait-for-file "/var/run/nginx/pid" marionette)) ;; Make sure Git test repository is created. (test-assert "Git test repository" @@ -486,17 +474,7 @@ HTTP-PORT." ;; Wait for nginx to be up and running. (test-assert "nginx running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'nginx)) - marionette)) - - ;; Make sure the PID file is created. - (test-assert "PID file" - (marionette-eval - '(file-exists? "/var/run/nginx/pid") - marionette)) + (wait-for-file "/var/run/nginx/pid" marionette)) ;; Make sure Git test repository is created. (test-assert "Git test repository" -- cgit v1.2.3