From 4b8cfa7f6963441a77258494eee7a89371422d9e Mon Sep 17 00:00:00 2001 From: Sughosha Date: Fri, 20 Feb 2026 00:36:49 +0530 Subject: services: readymedia: Run with a pid file. * gnu/services/upnp.scm (%readymedia-default-pid-directory): New variable. (%readymedia-pid-file): New procedure. (readymedia-shepherd-service)[start]: Start with the pid file. (readymedia-activation): Create the pid directory. * gnu/tests/upnp.scm (run-readymedia-test): Test the pid directory and file. Merges: https://codeberg.org/guix/guix/pulls/1007 Change-Id: I454a89d25afe0e9bb0414645b1e4594afdf89058 Signed-off-by: Giacomo Leidi --- gnu/tests/upnp.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu/tests') diff --git a/gnu/tests/upnp.scm b/gnu/tests/upnp.scm index 547351b4463..226aa2ae0e9 100644 --- a/gnu/tests/upnp.scm +++ b/gnu/tests/upnp.scm @@ -99,6 +99,27 @@ '(file-exists? #$(%readymedia-default-log-file)) marionette)) + ;; Pid directory and file + (test-assert "pid directory exists" + (marionette-eval + '(eq? (stat:type (stat #$%readymedia-default-pid-directory)) + 'directory) + marionette)) + (test-assert "pid directory has correct ownership" + (marionette-eval + '(let ((pid-dir (stat #$%readymedia-default-pid-directory)) + (user (getpwnam #$%readymedia-user-account))) + (and (eqv? (stat:uid pid-dir) (passwd:uid user)) + (eqv? (stat:gid pid-dir) (passwd:gid user)))) + marionette)) + (test-assert "pid directory has expected permissions" + (marionette-eval + '(eqv? (stat:perms (stat #$%readymedia-default-pid-directory)) + #o755) + marionette)) + (test-assert "containerd PID file present" + (wait-for-file #$(%readymedia-pid-file) marionette)) + ;; Service (test-assert "ReadyMedia service is running" (marionette-eval -- cgit v1.2.3