| |
| #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; |
| } |