]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
containers test: Factor out fixture_disconnect_observer
authorSimon McVittie <smcv@collabora.com>
Fri, 11 May 2018 17:38:07 +0000 (18:38 +0100)
committerSimon McVittie <smcv@collabora.com>
Thu, 21 Jun 2018 16:43:48 +0000 (17:43 +0100)
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105656

test/containers.c

index b226189f7c3b1c47d0ebeda27d8690dc31e01f79..e745d6ea939daff97fb12ae3296a780f4cd2c60c 100644 (file)
@@ -173,6 +173,27 @@ fixture_disconnect_unconfined (Fixture *f)
   g_clear_object (&f->unconfined_conn);
 }
 
+static void
+fixture_disconnect_observer (Fixture *f)
+{
+  if (f->observer_conn != NULL)
+    {
+      GError *error = NULL;
+
+      g_dbus_connection_signal_unsubscribe (f->observer_conn,
+                                            f->removed_sub);
+
+      g_dbus_connection_close_sync (f->observer_conn, NULL, &error);
+
+      if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CLOSED))
+        g_clear_error (&error);
+      else
+        g_assert_no_error (error);
+    }
+
+  g_clear_object (&f->observer_conn);
+}
+
 static void
 setup (Fixture *f,
        gconstpointer context)
@@ -1590,22 +1611,8 @@ teardown (Fixture *f,
 {
   g_clear_object (&f->proxy);
 
-  if (f->observer_conn != NULL)
-    {
-      GError *error = NULL;
-
-      g_dbus_connection_signal_unsubscribe (f->observer_conn,
-                                            f->removed_sub);
-      g_dbus_connection_close_sync (f->observer_conn, NULL, &error);
-
-      if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CLOSED))
-        g_clear_error (&error);
-      else
-        g_assert_no_error (error);
-    }
-
+  fixture_disconnect_observer (f);
   g_clear_pointer (&f->containers_removed, g_hash_table_unref);
-  g_clear_object (&f->observer_conn);
 
   if (f->libdbus_observer != NULL)
     {