mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-12-03 15:21:12 +01:00
gio/tests: Factor out connection_wait_for_bus() from gdbus-subscribe
Signed-off-by: Simon McVittie <smcv@debian.org>
This commit is contained in:
committed by
Philip Withnall
parent
043d14fdd3
commit
5059294535
@@ -620,35 +620,6 @@ typedef struct
|
||||
guint finished_subscription;
|
||||
} Fixture;
|
||||
|
||||
/* Wait for asynchronous messages from @conn to have been processed
|
||||
* by the message bus, as a sequence point so that we can make
|
||||
* "happens before" and "happens after" assertions relative to this.
|
||||
* The easiest way to achieve this is to call a message bus method that has
|
||||
* no arguments and wait for it to return: because the message bus processes
|
||||
* messages in-order, anything we sent before this must have been processed
|
||||
* by the time this call arrives. */
|
||||
static void
|
||||
connection_wait_for_bus (GDBusConnection *conn)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *call_result;
|
||||
|
||||
call_result = g_dbus_connection_call_sync (conn,
|
||||
DBUS_SERVICE_DBUS,
|
||||
DBUS_PATH_DBUS,
|
||||
DBUS_INTERFACE_DBUS,
|
||||
"GetId",
|
||||
NULL, /* arguments */
|
||||
NULL, /* result type */
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
-1,
|
||||
NULL,
|
||||
&error);
|
||||
g_assert_no_error (error);
|
||||
g_assert_nonnull (call_result);
|
||||
g_variant_unref (call_result);
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when the subscriber receives a message from any connection
|
||||
* announcing that it has emitted all the signals that it plans to emit.
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
|
||||
#include "gdbus-tests.h"
|
||||
|
||||
#include "gdbusprivate.h"
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
|
||||
typedef struct
|
||||
@@ -155,6 +157,40 @@ ensure_gdbus_testserver_up (GDBusConnection *connection,
|
||||
g_main_context_pop_thread_default (context);
|
||||
}
|
||||
|
||||
/*
|
||||
* connection_wait_for_bus:
|
||||
* @conn: A connection
|
||||
*
|
||||
* Wait for asynchronous messages from @conn to have been processed
|
||||
* by the message bus, as a sequence point so that we can make
|
||||
* "happens before" and "happens after" assertions relative to this.
|
||||
* The easiest way to achieve this is to call a message bus method that has
|
||||
* no arguments and wait for it to return: because the message bus processes
|
||||
* messages in-order, anything we sent before this must have been processed
|
||||
* by the time this call arrives.
|
||||
*/
|
||||
void
|
||||
connection_wait_for_bus (GDBusConnection *conn)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *call_result;
|
||||
|
||||
call_result = g_dbus_connection_call_sync (conn,
|
||||
DBUS_SERVICE_DBUS,
|
||||
DBUS_PATH_DBUS,
|
||||
DBUS_INTERFACE_DBUS,
|
||||
"GetId",
|
||||
NULL, /* arguments */
|
||||
NULL, /* result type */
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
-1,
|
||||
NULL,
|
||||
&error);
|
||||
g_assert_no_error (error);
|
||||
g_assert_nonnull (call_result);
|
||||
g_variant_unref (call_result);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
|
||||
typedef struct
|
||||
|
||||
@@ -119,6 +119,8 @@ GDBusConnection *_g_bus_get_priv (GBusType bus_type,
|
||||
void ensure_gdbus_testserver_up (GDBusConnection *connection,
|
||||
GMainContext *context);
|
||||
|
||||
void connection_wait_for_bus (GDBusConnection *conn);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __TESTS_H__ */
|
||||
|
||||
Reference in New Issue
Block a user