bus: Assign a serial number for messages from the driver
[platform/upstream/dbus.git] / test / test-names.c
1 #include <config.h>
2 #include "test-utils.h"
3
4 static DBusLoop *loop;
5
6 static void die (const char *message) _DBUS_GNUC_NORETURN;
7
8 static void
9 die (const char *message)
10 {
11   fprintf (stderr, "*** test-names: %s", message);
12   exit (1);
13 }
14
15 static void
16 TestName(DBusConnection *connection, const char *name, int expectedSuccess)
17 {
18   DBusError error;
19   dbus_error_init (&error);
20
21   (void) dbus_bus_request_name (connection, name, 0, &error);
22   if (dbus_error_is_set (&error))
23     {
24       if (expectedSuccess)
25         fprintf (stderr, "Error acquiring name '%s': %s\n", name, error.message);
26       else
27         fprintf (stdout, "Expected Error acquiring name '%s': %s\n", name, error.message);
28       _dbus_verbose ("*** Failed to acquire name '%s': %s\n", name,
29                      error.message);
30       dbus_error_free (&error);
31       if (expectedSuccess)
32         exit (1);
33     }
34   else 
35     {
36       if (!expectedSuccess)
37         fprintf (stderr, "Unexpected Success acquiring name '%s'\n", name);
38       else
39         fprintf (stdout, "Successfully acquired name '%s'\n", name);
40       _dbus_verbose ("*** Managed to acquire name '%s'\n", name);
41       if (!expectedSuccess)
42         exit (1);
43     }
44 }
45
46 int
47 main (int    argc,
48       char **argv)
49 {
50   DBusError error;
51   DBusConnection *connection;
52   
53   dbus_error_init (&error);
54   connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
55   if (connection == NULL)
56     {
57       fprintf (stderr, "*** Failed to open connection to system bus: %s\n",
58                error.message);
59       dbus_error_free (&error);
60       return 1;
61     }
62
63   loop = _dbus_loop_new ();
64   if (loop == NULL)
65     die ("No memory\n");
66   
67   if (!test_connection_setup (loop, connection))
68     die ("No memory\n");
69
70   TestName(connection, "org.freedesktop.DBus.Test", TRUE);
71   TestName(connection, "org.freedesktop.DBus.Test-2", TRUE);
72   TestName(connection, "org.freedesktop.DBus.Test_2", TRUE);
73 #if 0
74   TestName(connection, "Test_2", TRUE);
75 #endif
76
77   _dbus_verbose ("*** Test service name exiting\n");
78   
79   return 0;
80 }