]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add test for "systemd-run -v"
authorLennart Poettering <lennart@poettering.net>
Thu, 27 Mar 2025 23:51:08 +0000 (19:51 -0400)
committerLennart Poettering <lennart@poettering.net>
Tue, 13 May 2025 13:39:57 +0000 (15:39 +0200)
test/units/TEST-07-PID1.startv.sh [new file with mode: 0755]

diff --git a/test/units/TEST-07-PID1.startv.sh b/test/units/TEST-07-PID1.startv.sh
new file mode 100755 (executable)
index 0000000..bcc7c0b
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+# shellcheck disable=SC2016
+set -eux
+set -o pipefail
+
+# shellcheck source=test/units/util.sh
+. "$(dirname "$0")"/util.sh
+
+systemd-run -v --wait echo wampfl | grep wampfl
+
+systemd-run -v -p Type=notify bash -c 'echo brumfl ; systemd-notify --ready ; echo krass' |  grep brumfl
+
+mkdir -p /run/systemd/journald.conf.d/
+
+# Let's disable storage of debug messages, since we want to flood the journal
+# daemon with messages that it will have to process, but we do not actually
+# want to push out our own messages from storage while doing so
+cat >> /run/systemd/journald.conf.d/50-disable-debug.conf <<EOF
+[Journal]
+MaxLevelStore=info
+EOF
+
+systemctl restart systemd-journald
+
+# Now flood the journal via syslog and the stream transport to ensure this finishes correctly even if busy
+( xxd /dev/urandom | logger -p debug ) &
+( xxd /dev/urandom | systemd-cat -p debug ) &
+
+# Verify that this works even if the journal is super busy
+systemd-run -v -p Type=notify bash -c 'echo schmurz ; systemd-notify --ready ; echo kropf' |  grep schmurz
+
+kill %1
+kill %2
+
+rm /run/systemd/journald.conf.d/50-disable-debug.conf
+rmdir --ignore-fail-on-non-empty /run/systemd/journald.conf.d
+
+systemctl restart systemd-journald