summaryrefslogtreecommitdiff
diff options
authorValentin David <valentin.david@canonical.com>2023-05-04 16:30:29 +0200
committerMichael Vogt <michael.vogt@gmail.com>2023-06-05 17:20:46 +0200
commit8897c00077295e31bc00370bcd45dde96a608963 (patch)
tree77f83cf6c285530087a5bbe538cc327f4b1c5fdd
parent564aa182ebc7b515d8190b3187591a564d838b50 (diff)
test-invariant: make stray-dbus-daemon less brittle
-rwxr-xr-xtests/lib/tools/tests.invariant18
1 files changed, 13 insertions, 5 deletions
diff --git a/tests/lib/tools/tests.invariant b/tests/lib/tools/tests.invariant
index da4ff2880f..7f2a5c2797 100755
--- a/tests/lib/tools/tests.invariant
+++ b/tests/lib/tools/tests.invariant
@@ -80,7 +80,10 @@ check_lxcfs_mounted() {
check_stray_dbus_daemon() {
n="$1" # invariant name
- (
+ wait_for_dbus_daemon=5
+ failed=()
+ while [ "${wait_for_dbus_daemon}" -gt 0 ]; do
+ failed=()
skipped_system=0
skipped_root_session=0
for pid in $(pgrep -x dbus-daemon); do
@@ -102,11 +105,16 @@ check_stray_dbus_daemon() {
continue
fi
# Report stray dbus-daemon.
- echo "pid:$pid user:$user cmdline:$cmdline"
+ failed+=("pid:$pid user:$user cmdline:$cmdline")
done
- ) > "$TESTSTMP/tests.invariant.$n"
- if [ -s "$TESTSTMP/tests.invariant.$n" ]; then
- echo "tests.invariant: more than one dbus-daemon running" >&2
+ : $((wait_for_dbus_daemon--))
+ sleep 1
+ done
+
+ if [ "${#failed[@]}" -ne 0 ]; then
+ (for line in "${failed[@]}"; do
+ echo "${line}"
+ done) >"$TESTSTMP/tests.invariant.$n"
cat "$TESTSTMP/tests.invariant.$n" >&2
return 1
fi