mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-01-31 00:30:25 +01:00
68 lines
1.3 KiB
C
68 lines
1.3 KiB
C
|
|
#include <config.h>
|
|
#include "../test-utils.h"
|
|
|
|
static DBusLoop *loop;
|
|
|
|
static void
|
|
die (const char *message)
|
|
{
|
|
fprintf (stderr, "*** test-shutdown: %s", message);
|
|
exit (1);
|
|
}
|
|
|
|
static void
|
|
open_destroy_shared_session_bus_connection (void)
|
|
{
|
|
DBusError error;
|
|
DBusConnection *connection;
|
|
char *session_addr_no_guid;
|
|
char *comma;
|
|
|
|
dbus_error_init (&error);
|
|
|
|
session_addr_no_guid = strdup (getenv ("DBUS_SESSION_BUS_ADDRESS"));
|
|
comma = strchr (session_addr_no_guid, ',');
|
|
if (comma == NULL)
|
|
die ("Couldn't find GUID in session bus address");
|
|
*comma = '\0';
|
|
|
|
connection = dbus_connection_open (session_addr_no_guid, &error);
|
|
free (session_addr_no_guid);
|
|
if (connection == NULL)
|
|
die ("Failed to open connection to temp session bus\n");
|
|
|
|
loop = _dbus_loop_new ();
|
|
if (loop == NULL)
|
|
die ("No memory\n");
|
|
|
|
if (!test_connection_setup (loop, connection))
|
|
die ("No memory\n");
|
|
|
|
test_connection_shutdown (loop, connection);
|
|
|
|
_dbus_loop_unref (loop);
|
|
|
|
dbus_connection_unref (connection);
|
|
}
|
|
|
|
int
|
|
main (int argc,
|
|
char **argv)
|
|
{
|
|
open_destroy_shared_session_bus_connection ();
|
|
|
|
dbus_shutdown ();
|
|
|
|
open_destroy_shared_session_bus_connection ();
|
|
|
|
dbus_shutdown ();
|
|
|
|
open_destroy_shared_session_bus_connection ();
|
|
|
|
dbus_shutdown ();
|
|
|
|
_dbus_verbose ("*** Test shutdown exiting\n");
|
|
|
|
return 0;
|
|
}
|