]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
containers test: Factor out disconnecting the unconfined manager
authorSimon McVittie <smcv@collabora.com>
Fri, 11 May 2018 17:36:47 +0000 (18:36 +0100)
committerSimon McVittie <smcv@collabora.com>
Thu, 21 Jun 2018 16:43:46 +0000 (17:43 +0100)
As this test's coverage expands, this function will have to do more
(clear up name watches, filters, etc.) so it'll be helpful to keep it
all in one place.

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 18c2f24134aefd0de10e10748c2b6e997bd1af3b..b226189f7c3b1c47d0ebeda27d8690dc31e01f79 100644 (file)
@@ -1,6 +1,6 @@
 /* Integration tests for restricted sockets for containers
  *
- * Copyright © 2017 Collabora Ltd.
+ * Copyright © 2017-2018 Collabora Ltd.
  *
  * Permission is hereby granted, free of charge, to any person
  * obtaining a copy of this software and associated documentation files
@@ -155,6 +155,24 @@ instance_removed_cb (GDBusConnection *observer,
   g_hash_table_add (f->containers_removed, g_strdup (container));
 }
 
+static void
+fixture_disconnect_unconfined (Fixture *f)
+{
+  if (f->unconfined_conn != NULL)
+    {
+      GError *error = NULL;
+
+      g_dbus_connection_close_sync (f->unconfined_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->unconfined_conn);
+}
+
 static void
 setup (Fixture *f,
        gconstpointer context)
@@ -851,8 +869,7 @@ test_stop_server (Fixture *f,
                                                      NULL,
                                                      name_gone_set_boolean_cb,
                                                      &gone, NULL);
-        g_dbus_connection_close_sync (f->unconfined_conn, NULL, &f->error);
-        g_assert_no_error (f->error);
+        fixture_disconnect_unconfined (f);
 
         g_test_message ("Waiting for container manager bus name to disappear...");
 
@@ -1599,19 +1616,7 @@ teardown (Fixture *f,
 
   dbus_clear_connection (&f->libdbus_observer);
 
-  if (f->unconfined_conn != NULL)
-    {
-      GError *error = NULL;
-
-      g_dbus_connection_close_sync (f->unconfined_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->unconfined_conn);
+  fixture_disconnect_unconfined (f);
 
   if (f->confined_conn != NULL)
     {