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
* - Export objects before claiming names
* - 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"

View File

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