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:
@@ -0,0 +1,7 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
integration_tests += [
|
||||
integration_test_template + {
|
||||
'name' : fs.name(meson.current_source_dir()),
|
||||
},
|
||||
]
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user