From 50a724b6fc8f68ad9baf6e6d04601d6b94278e3a Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 16 Apr 2018 19:39:04 +0100 Subject: [PATCH] tests: Add a GAsyncReadyCallback that stores the GAsyncResult It seems I eventually introduce this into every project where I've added GLib-based unit tests. Today it's dbus' turn. Signed-off-by: Simon McVittie Reviewed-by: Philip Withnall Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105656 --- test/test-utils-glib.c | 16 ++++++++++++++++ test/test-utils-glib.h | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/test/test-utils-glib.c b/test/test-utils-glib.c index ec9971c5..94e28c89 100644 --- a/test/test-utils-glib.c +++ b/test/test-utils-glib.c @@ -819,3 +819,19 @@ test_check_tcp_works (void) return TRUE; #endif } + +/* + * Store the result of an async operation. @user_data is a pointer to a + * variable that can store @result, initialized to %NULL. + */ +void +test_store_result_cb (GObject *source_object G_GNUC_UNUSED, + GAsyncResult *result, + gpointer user_data) +{ + GAsyncResult **result_p = user_data; + + g_assert_nonnull (result_p); + g_assert_null (*result_p); + *result_p = g_object_ref (result); +} diff --git a/test/test-utils-glib.h b/test/test-utils-glib.h index a2712c05..d36f4301 100644 --- a/test/test-utils-glib.h +++ b/test/test-utils-glib.h @@ -123,4 +123,8 @@ backported_g_steal_pointer (gpointer pointer_to_pointer) gboolean test_check_tcp_works (void); +void test_store_result_cb (GObject *source_object, + GAsyncResult *result, + gpointer user_data); + #endif