summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-11-02 12:58:29 +0100
committerThomas Haller <thaller@redhat.com>2020-11-03 14:31:20 +0100
commit1b8ccacc5da943f6c460d06f42cceb00f390b2b0 (patch)
tree61c4d0f3657465268179066711e6ffe0a77dbd3a
parent230250e62900be4ba71f90c391e25638f476125e (diff)
downloadNetworkManager-1b8ccacc5da943f6c460d06f42cceb00f390b2b0.tar.gz
tests: avoid race condition in nmtstc_service_cleanup()
It seems it can happen that the service is not yet unregistered from the D-Bus broker, even if we already reaped the PID. /builds/NetworkManager/NetworkManager/tools/run-nm-test.sh --called-from-make /builds/NetworkManager/NetworkManager/build --launch-dbus=auto /builds/NetworkManager/NetworkManager/build/libnm/tests/test-nm-client --- stdout --- /libnm/device-added: nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=0 --- stderr --- ** test:ERROR:../shared/nm-test-utils-impl.c:216:nmtstc_service_cleanup: assertion failed: (!name_exists(info->bus, "org.freedesktop.NetworkManager")) Workaround by waiting a bit. We now iterate the main GMainContext, unlike before. But that should not cause any problems for the test.
-rw-r--r--shared/nm-test-utils-impl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/shared/nm-test-utils-impl.c b/shared/nm-test-utils-impl.c
index 0e0d97a494..5ea4968a85 100644
--- a/shared/nm-test-utils-impl.c
+++ b/shared/nm-test-utils-impl.c
@@ -213,7 +213,11 @@ again_wait:
g_assert(ret == info->pid);
}
- g_assert(!name_exists(info->bus, "org.freedesktop.NetworkManager"));
+ nmtst_main_context_iterate_until_assert_full(
+ NULL,
+ 1000,
+ 80,
+ (!name_exists(info->bus, "org.freedesktop.NetworkManager")));
g_clear_object(&info->bus);