test: give the D-Bus reconnect checks their own integration test (#43776)

`TEST-23-UNIT-FILE.dbus-reconnect.sh` SIGKILLs `dbus.service` three
times. Nothing reconnects to the new broker, so logind keeps running
with `org.freedesktop.login1` unowned for the rest of the boot —
activation can't fix it either, as `dbus-org.freedesktop.login1.service`
is already active, so the job finishes at once and the name never
returns.

That leaks into the subtests after it. `statedir.sh`, the first to start
`user@0.service`, spends 2 × 25 s in user-runtime-dir on logind
properties, and where pam_systemd can't use Varlink (memory-max= & co.
in the PAM stack) it blocks in `CreateSession()` for 2 min, past
user@.service's 90 s TimeoutStartSec — failing, and pointing at a
subtest that has nothing to do with the bus.

Hit this in hyperscale v261.3 release test for centos9:

https://artifacts.dev.testing-farm.io/01c1c68b-da64-4b9e-b163-eb3459aabe79/work-upstreamjejyd7ep/log.txt
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2026-09-17 15:38:16 +02:00
committed by GitHub
3 changed files with 16 additions and 0 deletions
@@ -0,0 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
integration_tests += [
integration_test_template + {
'name' : fs.name(meson.current_source_dir()),
},
]
+1
View File
@@ -111,6 +111,7 @@ foreach dirname : [
'TEST-92-TPM2-SWTPM',
'TEST-93-CLONESETUP',
'TEST-94-COCO',
'TEST-95-DBUS-RECONNECT',
]
subdir(dirname)
endforeach
@@ -13,6 +13,12 @@ release=/run/dbus-reconnect-release
notify=/run/dbus-reconnect-notify
reloaded=/run/dbus-reconnect-reloaded
# Five restarts + boot time start trips the default start rate limit.
systemctl edit --runtime --stdin dbus.service --drop-in=99-no-start-limit.conf <<EOF
[Unit]
StartLimitIntervalSec=0
EOF
at_exit() {
rm -f "$marker" "$release" "$notify" "$reloaded"
systemctl stop \
@@ -159,3 +165,5 @@ systemctl daemon-reexec
touch "$marker"
poll "$unit" SubState running
systemctl stop "$unit"
touch /testok