]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
TEST-07-PID1: add small test for LogExtraFields 41044/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@amutable.com>
Wed, 11 Mar 2026 12:15:57 +0000 (13:15 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@amutable.com>
Wed, 11 Mar 2026 17:09:27 +0000 (18:09 +0100)
test/units/TEST-07-PID1.issue-40916.sh [new file with mode: 0755]

diff --git a/test/units/TEST-07-PID1.issue-40916.sh b/test/units/TEST-07-PID1.issue-40916.sh
new file mode 100755 (executable)
index 0000000..c3f6dd6
--- /dev/null
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+set -eux
+set -o pipefail
+
+# shellcheck source=test/units/util.sh
+. "$(dirname "$0")"/util.sh
+
+# Units with excessive numbers of fields in LogExtraFields=.
+# Issue: https://github.com/systemd/systemd/issues/40916
+
+UNIT=test-07-pid1-issue-40916.service
+
+cleanup() {
+    rm -f /run/systemd/system/"$UNIT"
+    systemctl daemon-reload
+}
+
+trap cleanup EXIT
+
+cat >/run/systemd/system/"$UNIT" <<EOF
+[Service]
+ExecStart=true
+EOF
+
+for i in {1..2000}; do
+    echo "LogExtraFields=FIELD_$i=$i"
+done >>/run/systemd/system/"$UNIT"
+
+systemctl start --wait "$UNIT"
+
+systemctl show -p LogExtraFields "$UNIT" | grep FIELD_1000
+(! systemctl show -p LogExtraFields "$UNIT" | grep FIELD_1500)
+
+# Now try setting the properties dynamically
+(! systemd-run --wait -u test-07-pid1-issue-40916-1.service -pLogExtraFields=FD{1..2000}=1 true)
+systemd-run --wait -u test-07-pid1-issue-40916-1.service -pLogExtraFields=FD{1..1000}=1 true