c50ef4b6996142eed974e46abd51a0b26f40fa24
[platform/upstream/dbus.git] / test / name-test / test-shutdown.c
1
2 #include "../test-utils.h"
3
4 static DBusLoop *loop;
5
6 static void
7 die (const char *message)
8 {
9   fprintf (stderr, "*** test-shutdown: %s", message);
10   exit (1);
11 }
12
13 static void
14 open_destroy_shared_session_bus_connection ()
15 {
16   DBusError error;
17   DBusConnection *connection;
18   char *session_addr_no_guid;
19   char *comma;
20   
21   dbus_error_init (&error);
22
23   session_addr_no_guid = strdup (getenv ("DBUS_SESSION_BUS_ADDRESS"));
24   comma = strchr (session_addr_no_guid, ',');
25   if (comma == NULL)
26     die ("Couldn't find GUID in session bus address");
27   *comma = '\0';
28     
29   connection = dbus_connection_open (session_addr_no_guid, &error);
30   free (session_addr_no_guid);
31   if (connection == NULL)
32     die ("Failed to open connection to temp session bus\n");
33
34   loop = _dbus_loop_new ();
35   if (loop == NULL)
36     die ("No memory\n");
37   
38   if (!test_connection_setup (loop, connection))
39     die ("No memory\n");
40
41   test_connection_shutdown (loop, connection);
42  
43   _dbus_loop_unref (loop);
44
45   dbus_connection_unref (connection); 
46 }
47
48 int
49 main (int    argc,
50       char **argv)
51 {
52   open_destroy_shared_session_bus_connection ();
53
54   dbus_shutdown ();
55
56   open_destroy_shared_session_bus_connection ();
57
58   dbus_shutdown ();
59
60   open_destroy_shared_session_bus_connection ();
61
62   dbus_shutdown ();
63
64   _dbus_verbose ("*** Test shutdown exiting\n");
65   
66   return 0;
67 }