From 45d98b8863cfa0f86503236415aab90774b5c13c Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Mon, 28 Oct 2019 19:41:45 +0000 Subject: [PATCH] tests: Move main loop and test GUID into test functions in gdbus-peer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There’s actually no need for them to be global or reused between unit tests, so move them inside the test functions. This is one step towards eliminating shared state between the unit tests. Signed-off-by: Philip Withnall Helps: #1912 --- gio/tests/gdbus-peer.c | 45 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/gio/tests/gdbus-peer.c b/gio/tests/gdbus-peer.c index a3260a6e0..b410e80d1 100644 --- a/gio/tests/gdbus-peer.c +++ b/gio/tests/gdbus-peer.c @@ -1033,6 +1033,9 @@ do_test_peer (void) static void test_peer (void) { + test_guid = g_dbus_generate_guid (); + loop = g_main_loop_new (NULL, FALSE); + /* Run this test multiple times using different address formats to ensure * they all work. */ @@ -1049,6 +1052,9 @@ test_peer (void) do_test_peer (); teardown_test_address (); #endif + + g_main_loop_unref (loop); + g_free (test_guid); } /* ---------------------------------------------------------------------------------------------------- */ @@ -1064,6 +1070,9 @@ test_peer_signals (void) g_test_bug ("https://gitlab.gnome.org/GNOME/glib/issues/1620"); + test_guid = g_dbus_generate_guid (); + loop = g_main_loop_new (NULL, FALSE); + setup_test_address (); memset (&data, '\0', sizeof (PeerData)); data.current_connections = g_ptr_array_new_with_free_func (g_object_unref); @@ -1119,6 +1128,9 @@ test_peer_signals (void) g_thread_join (service_thread); teardown_test_address (); + + g_main_loop_unref (loop); + g_free (test_guid); } /* ---------------------------------------------------------------------------------------------------- */ @@ -1260,6 +1272,9 @@ delayed_message_processing (void) GThread *service_thread; guint n; + test_guid = g_dbus_generate_guid (); + loop = g_main_loop_new (NULL, FALSE); + setup_test_address (); data = g_new0 (DmpData, 1); @@ -1307,6 +1322,9 @@ delayed_message_processing (void) g_thread_join (service_thread); dmp_data_free (data); teardown_test_address (); + + g_main_loop_unref (loop); + g_free (test_guid); } /* ---------------------------------------------------------------------------------------------------- */ @@ -1405,6 +1423,9 @@ test_nonce_tcp (void) gboolean res; const gchar *address; + test_guid = g_dbus_generate_guid (); + loop = g_main_loop_new (NULL, FALSE); + memset (&data, '\0', sizeof (PeerData)); data.current_connections = g_ptr_array_new_with_free_func (g_object_unref); @@ -1512,6 +1533,9 @@ test_nonce_tcp (void) g_thread_join (service_thread); g_ptr_array_unref (data.current_connections); + + g_main_loop_unref (loop); + g_free (test_guid); } static void @@ -1596,6 +1620,9 @@ test_tcp_anonymous (void) GDBusConnection *connection; GError *error; + test_guid = g_dbus_generate_guid (); + loop = g_main_loop_new (NULL, FALSE); + seen_connection = FALSE; service_thread = g_thread_new ("tcp-anon-service", tcp_anonymous_service_thread_func, @@ -1623,6 +1650,9 @@ test_tcp_anonymous (void) server = NULL; g_thread_join (service_thread); + + g_main_loop_unref (loop); + g_free (test_guid); } /* ---------------------------------------------------------------------------------------------------- */ @@ -1767,6 +1797,9 @@ codegen_test_peer (void) GVariant *value; const gchar *s; + test_guid = g_dbus_generate_guid (); + loop = g_main_loop_new (NULL, FALSE); + setup_test_address (); /* bring up a server - we run the server in a different thread to avoid deadlocks */ @@ -1874,6 +1907,9 @@ codegen_test_peer (void) g_thread_join (service_thread); teardown_test_address (); + + g_main_loop_unref (loop); + g_free (test_guid); } /* ---------------------------------------------------------------------------------------------------- */ @@ -1892,11 +1928,6 @@ main (int argc, g_assert (introspection_data != NULL); test_interface_introspection_data = introspection_data->interfaces[0]; - test_guid = g_dbus_generate_guid (); - - /* all the tests rely on a shared main loop */ - loop = g_main_loop_new (NULL, FALSE); - g_test_add_func ("/gdbus/peer-to-peer", test_peer); g_test_add_func ("/gdbus/peer-to-peer/signals", test_peer_signals); g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing); @@ -1906,10 +1937,8 @@ main (int argc, g_test_add_func ("/gdbus/credentials", test_credentials); g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer); - ret = g_test_run(); + ret = g_test_run (); - g_main_loop_unref (loop); - g_free (test_guid); g_dbus_node_info_unref (introspection_data); return ret;