GDBus: Don't use abstract sockets in test code

It doesn't really work right now because of a dbus-daemon(1) bug - see
the comment added in the TODO section of gdbusconnection.c. So revert
to old behavior. The downside is a lot of files in /tmp but right now
that's better than not being able to run tests in a loop.

Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
David Zeuthen
2010-09-23 19:16:25 -04:00
parent a35eb70471
commit 4d9ae95ae0
2 changed files with 11 additions and 4 deletions

View File

@@ -90,6 +90,15 @@
* kind of pitfalls it avoids * kind of pitfalls it avoids
* - Export objects before claiming names * - Export objects before claiming names
* - Talk about auto-starting services (cf. GBusNameWatcherFlags) * - Talk about auto-starting services (cf. GBusNameWatcherFlags)
*
* - use abstract sockets in test code
* - right now it doesn't work, dbus-daemon(1) fails with
*
* /gdbus/connection/filter: Failed to start message bus: Failed to bind
* socket "/tmp/g-dbus-tests-pid-28531": Address already in use
* ** WARNING **: Error reading address from dbus daemon, 0 bytes read
*
* or similar.
*/ */
#include "config.h" #include "config.h"

View File

@@ -25,6 +25,7 @@
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/wait.h>
#include <signal.h> #include <signal.h>
#include <stdio.h> #include <stdio.h>
@@ -306,10 +307,7 @@ session_bus_get_temporary_address (void)
{ {
if (temporary_address == NULL) if (temporary_address == NULL)
{ {
gchar *guid; temporary_address = g_strdup_printf ("unix:path=/tmp/g-dbus-tests-pid-%d", getpid ());
guid = g_dbus_generate_guid ();
temporary_address = g_strdup_printf ("unix:abstract=/tmp/g-dbus-tests-pid-%d-uuid-%s", getpid (), guid);
g_free (guid);
} }
return temporary_address; return temporary_address;