From 7e07ea8189547f7e044c418c914c4bc26f9cf6a2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 19 Aug 2012 18:35:56 -0400 Subject: [PATCH] Make async permission tests work --- gio/tests/permission.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gio/tests/permission.c b/gio/tests/permission.c index 935ea3b..e011a44 100644 --- a/gio/tests/permission.c +++ b/gio/tests/permission.c @@ -28,6 +28,7 @@ acquired (GObject *source, gpointer user_data) { GPermission *p = G_PERMISSION (source); + GMainLoop *loop = user_data; GError *error = NULL; gboolean ret; @@ -35,6 +36,8 @@ acquired (GObject *source, g_assert (!ret); g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED); g_clear_error (&error); + + g_main_loop_quit (loop); } static void @@ -43,6 +46,7 @@ released (GObject *source, gpointer user_data) { GPermission *p = G_PERMISSION (source); + GMainLoop *loop = user_data; GError *error = NULL; gboolean ret; @@ -50,6 +54,8 @@ released (GObject *source, g_assert (!ret); g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED); g_clear_error (&error); + + g_main_loop_quit (loop); } static void @@ -61,6 +67,7 @@ test_simple (void) gboolean can_release; gboolean ret; GError *error = NULL; + GMainLoop *loop; p = g_simple_permission_new (TRUE); @@ -88,8 +95,13 @@ test_simple (void) g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED); g_clear_error (&error); - g_permission_acquire_async (p, NULL, acquired, NULL); - g_permission_release_async (p, NULL, released, NULL); + loop = g_main_loop_new (NULL, FALSE); + g_permission_acquire_async (p, NULL, acquired, loop); + g_main_loop_run (loop); + g_permission_release_async (p, NULL, released, loop); + g_main_loop_run (loop); + + g_main_loop_unref (loop); g_object_unref (p); } -- 2.7.4