diff options
author | Simon McVittie <smcv@collabora.com> | 2017-11-27 19:26:03 +0000 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2017-12-04 11:52:52 +0000 |
commit | f59b4f9226c0134f91fc1eefebef6e7a816f85cd (patch) | |
tree | beda5c6503d7bb010ee42abf15ea9a23466140a8 /test/test-utils.c | |
parent | 38ff6bd20d58b57a5dd0eab1b1c09c5c43b61d26 (diff) | |
download | dbus-f59b4f9226c0134f91fc1eefebef6e7a816f85cd.tar.gz |
test-utils: Separate failable and non-failable functions
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>
Diffstat (limited to 'test/test-utils.c')
-rw-r--r-- | test/test-utils.c | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/test/test-utils.c b/test/test-utils.c index 53ad4a4e..99560523 100644 --- a/test/test-utils.c +++ b/test/test-utils.c @@ -98,8 +98,8 @@ cdata_new (DBusLoop *loop, } dbus_bool_t -test_connection_setup (TestMainContext *ctx, - DBusConnection *connection) +test_connection_try_setup (TestMainContext *ctx, + DBusConnection *connection) { DBusLoop *loop = ctx; CData *cd; @@ -166,6 +166,14 @@ die (const char *message) } void +test_connection_setup (TestMainContext *ctx, + DBusConnection *connection) +{ + if (!test_connection_try_setup (ctx, connection)) + die ("Not enough memory to set up connection"); +} + +void test_connection_shutdown (TestMainContext *ctx, DBusConnection *connection) { @@ -268,8 +276,8 @@ remove_server_timeout (DBusTimeout *timeout, } dbus_bool_t -test_server_setup (TestMainContext *ctx, - DBusServer *server) +test_server_try_setup (TestMainContext *ctx, + DBusServer *server) { DBusLoop *loop = ctx; ServerData *sd; @@ -312,6 +320,14 @@ test_server_setup (TestMainContext *ctx, } void +test_server_setup (TestMainContext *ctx, + DBusServer *server) +{ + if (!test_server_try_setup (ctx, server)) + die ("Not enough memory to set up server"); +} + +void test_server_shutdown (TestMainContext *ctx, DBusServer *server) { @@ -333,6 +349,17 @@ test_server_shutdown (TestMainContext *ctx, TestMainContext * test_main_context_get (void) { + TestMainContext *ret = _dbus_loop_new (); + + if (ret == NULL) + die ("Out of memory"); + + return ret; +} + +TestMainContext * +test_main_context_try_get (void) +{ return _dbus_loop_new (); } |