]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add simple test case for mute-console service
authorLennart Poettering <lennart@poettering.net>
Wed, 24 Sep 2025 16:01:20 +0000 (18:01 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 26 Sep 2025 07:42:13 +0000 (09:42 +0200)
test/units/TEST-74-AUX-UTILS.mute-console.sh [new file with mode: 0755]

diff --git a/test/units/TEST-74-AUX-UTILS.mute-console.sh b/test/units/TEST-74-AUX-UTILS.mute-console.sh
new file mode 100755 (executable)
index 0000000..e15be1e
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -eux
+set -o pipefail
+
+if ! command -v systemd-mute-console >/dev/null; then
+    echo "systemd-mute-console is not installed, skipping the test"
+    exit 0
+fi
+
+PID="$(systemd-notify --fork -- systemd-mute-console)"
+sleep .5
+kill "$PID"
+unset PID
+
+(! systemd-mute-console --kernel=no --pid1=no)
+
+PID="$(systemd-notify --fork -- systemd-mute-console --kernel=yes --pid1=yes)"
+sleep .5
+kill "$PID"
+unset PID
+
+varlinkctl introspect "$(which systemd-mute-console)"
+
+PID="$(systemd-notify --fork -- varlinkctl call -E "$(which systemd-mute-console)" io.systemd.MuteConsole.Mute '{}')"
+sleep .5
+kill "$PID"
+unset PID
+
+PID="$(systemd-notify --fork -- varlinkctl call -E "$(which systemd-mute-console)" io.systemd.MuteConsole.Mute '{"pid1":true, "kernel":true}')"
+sleep .5
+kill "$PID"
+unset PID
+
+varlinkctl introspect /run/systemd/io.systemd.MuteConsole
+
+PID="$(systemd-notify --fork -- varlinkctl call -E /run/systemd/io.systemd.MuteConsole io.systemd.MuteConsole.Mute '{}')"
+sleep .5
+kill "$PID"
+unset PID