mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-25 02:20:08 +01:00
test_object_try_whatever() now has libdbus-like OOM handling, while test_object_whatever() has GLib-like OOM handling. This is because an overwhelming majority of the callers of these functions either didn't check for OOM anyway, or checked for it but then aborted. In the uncommon case where we do care, we can use the _try_ version. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=100317 Reviewed-by: Philip Withnall <withnall@endlessm.com> Signed-off-by: Simon McVittie <smcv@collabora.com>
79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
#include <config.h>
|
|
#include "test-utils.h"
|
|
|
|
static DBusLoop *loop;
|
|
|
|
static void die (const char *message) _DBUS_GNUC_NORETURN;
|
|
|
|
static void
|
|
die (const char *message)
|
|
{
|
|
fprintf (stderr, "*** test-names: %s", message);
|
|
exit (1);
|
|
}
|
|
|
|
static void
|
|
TestName(DBusConnection *connection, const char *name, int expectedSuccess)
|
|
{
|
|
DBusError error;
|
|
dbus_error_init (&error);
|
|
|
|
(void) dbus_bus_request_name (connection, name, 0, &error);
|
|
if (dbus_error_is_set (&error))
|
|
{
|
|
if (expectedSuccess)
|
|
fprintf (stderr, "Error acquiring name '%s': %s\n", name, error.message);
|
|
else
|
|
fprintf (stdout, "Expected Error acquiring name '%s': %s\n", name, error.message);
|
|
_dbus_verbose ("*** Failed to acquire name '%s': %s\n", name,
|
|
error.message);
|
|
dbus_error_free (&error);
|
|
if (expectedSuccess)
|
|
exit (1);
|
|
}
|
|
else
|
|
{
|
|
if (!expectedSuccess)
|
|
fprintf (stderr, "Unexpected Success acquiring name '%s'\n", name);
|
|
else
|
|
fprintf (stdout, "Successfully acquired name '%s'\n", name);
|
|
_dbus_verbose ("*** Managed to acquire name '%s'\n", name);
|
|
if (!expectedSuccess)
|
|
exit (1);
|
|
}
|
|
}
|
|
|
|
int
|
|
main (int argc,
|
|
char **argv)
|
|
{
|
|
DBusError error;
|
|
DBusConnection *connection;
|
|
|
|
dbus_error_init (&error);
|
|
connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
|
|
if (connection == NULL)
|
|
{
|
|
fprintf (stderr, "*** Failed to open connection to system bus: %s\n",
|
|
error.message);
|
|
dbus_error_free (&error);
|
|
return 1;
|
|
}
|
|
|
|
loop = _dbus_loop_new ();
|
|
if (loop == NULL)
|
|
die ("No memory\n");
|
|
|
|
test_connection_setup (loop, connection);
|
|
|
|
TestName(connection, "org.freedesktop.DBus.Test", TRUE);
|
|
TestName(connection, "org.freedesktop.DBus.Test-2", TRUE);
|
|
TestName(connection, "org.freedesktop.DBus.Test_2", TRUE);
|
|
#if 0
|
|
TestName(connection, "Test_2", TRUE);
|
|
#endif
|
|
|
|
_dbus_verbose ("*** Test service name exiting\n");
|
|
|
|
return 0;
|
|
}
|