From: Simon McVittie Date: Fri, 11 May 2018 17:36:47 +0000 (+0100) Subject: containers test: Factor out disconnecting the unconfined manager X-Git-Tag: dbus-1.13.6~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d26639ecc2c7ed9355277b0ff0db9d8a39c081ca;p=thirdparty%2Fdbus.git containers test: Factor out disconnecting the unconfined manager 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 Reviewed-by: Philip Withnall Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105656 --- diff --git a/test/containers.c b/test/containers.c index 18c2f2413..b226189f7 100644 --- a/test/containers.c +++ b/test/containers.c @@ -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) {