diff options
Diffstat (limited to 'libpurple')
23 files changed, 202 insertions, 37 deletions
diff --git a/libpurple/tests/test_account_manager.c b/libpurple/tests/test_account_manager.c index a5d3805b7b..240869cac1 100644 --- a/libpurple/tests/test_account_manager.c +++ b/libpurple/tests/test_account_manager.c @@ -218,6 +218,8 @@ test_purple_account_manager_foreach(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -231,5 +233,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/account-manager/foreach", test_purple_account_manager_foreach); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_account_option.c b/libpurple/tests/test_account_option.c index f46bff567b..5fa28106b8 100644 --- a/libpurple/tests/test_account_option.c +++ b/libpurple/tests/test_account_option.c @@ -68,6 +68,9 @@ test_purple_account_option_copy_int(void) { opt2 = purple_account_option_copy(opt1); test_purple_account_option_compare(opt1, opt2); + + purple_account_option_destroy(opt1); + purple_account_option_destroy(opt2); } static void @@ -84,6 +87,9 @@ test_purple_account_option_copy_int_with_default(void) { g_assert_cmpint(purple_account_option_get_default_int(opt1), ==, purple_account_option_get_default_int(opt2)); + + purple_account_option_destroy(opt1); + purple_account_option_destroy(opt2); } static void @@ -94,6 +100,9 @@ test_purple_account_option_copy_string(void) { opt2 = purple_account_option_copy(opt1); test_purple_account_option_compare_string(opt1, opt2); + + purple_account_option_destroy(opt1); + purple_account_option_destroy(opt2); } static void @@ -105,6 +114,9 @@ test_purple_account_option_copy_string_with_default(void) { opt2 = purple_account_option_copy(opt1); test_purple_account_option_compare_string(opt1, opt2); + + purple_account_option_destroy(opt1); + purple_account_option_destroy(opt2); } static void @@ -116,6 +128,9 @@ test_purple_account_option_copy_string_with_masked(void) { opt2 = purple_account_option_copy(opt1); test_purple_account_option_compare_string(opt1, opt2); + + purple_account_option_destroy(opt1); + purple_account_option_destroy(opt2); } /****************************************************************************** diff --git a/libpurple/tests/test_authorization_request.c b/libpurple/tests/test_authorization_request.c index 815fd33a53..823761561b 100644 --- a/libpurple/tests/test_authorization_request.c +++ b/libpurple/tests/test_authorization_request.c @@ -302,6 +302,8 @@ test_purple_authorization_request_deny_message_non_null(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -325,5 +327,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/request-authorization/deny-message/non-null", test_purple_authorization_request_deny_message_non_null); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_contact.c b/libpurple/tests/test_contact.c index 0145535cd5..480a1321ac 100644 --- a/libpurple/tests/test_contact.c +++ b/libpurple/tests/test_contact.c @@ -83,6 +83,8 @@ test_purple_contact_properties(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -92,5 +94,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/contact/properties", test_purple_contact_properties); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_contact_info.c b/libpurple/tests/test_contact_info.c index 9c64b59713..367fbb9a65 100644 --- a/libpurple/tests/test_contact_info.c +++ b/libpurple/tests/test_contact_info.c @@ -437,6 +437,8 @@ test_purple_contact_info_presence_changed_signal(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -486,5 +488,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/contact-info/presence-changed-signal", test_purple_contact_info_presence_changed_signal); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_contact_manager.c b/libpurple/tests/test_contact_manager.c index 7b21ab7a46..db97230824 100644 --- a/libpurple/tests/test_contact_manager.c +++ b/libpurple/tests/test_contact_manager.c @@ -470,6 +470,8 @@ test_purple_contact_manager_person_add_via_contact_remove_person_with_contacts(v *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -499,5 +501,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/contact-manager/person/add-via-contact-remove-person-with-contacts", test_purple_contact_manager_person_add_via_contact_remove_person_with_contacts); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_conversation.c b/libpurple/tests/test_conversation.c index 8b7ffe8430..8e52f75d5e 100644 --- a/libpurple/tests/test_conversation.c +++ b/libpurple/tests/test_conversation.c @@ -31,6 +31,7 @@ test_purple_conversation_properties(void) { PurpleAccount *account1 = NULL; PurpleConnectionFlags features = 0; PurpleConversation *conversation = NULL; + PurpleConversationManager *conversation_manager = NULL; GListModel *members = NULL; gchar *name = NULL; gchar *title = NULL; @@ -71,6 +72,12 @@ test_purple_conversation_properties(void) { g_assert_cmpstr(title, ==, "title1"); #endif + /* TODO: Conversations are automatically registered on construction for + * legacy reasons, so we need to explicitly unregister to clean them up, + * but this can go away once that stops happening. */ + conversation_manager = purple_conversation_manager_get_default(); + purple_conversation_manager_unregister(conversation_manager, conversation); + /* Free/unref all the things. */ g_clear_object(&account1); g_clear_object(&members); @@ -107,6 +114,7 @@ test_purple_conversation_members_add_remove(void) { PurpleAccount *account = NULL; PurpleContactInfo *info = NULL; PurpleConversation *conversation = NULL; + PurpleConversationManager *conversation_manager = NULL; PurpleConversationMember *member = NULL; PurpleConversationMember *member1 = NULL; gboolean removed = FALSE; @@ -164,6 +172,12 @@ test_purple_conversation_members_add_remove(void) { g_assert_false(removed); g_assert_cmpint(removed_called, ==, 1); + /* TODO: Conversations are automatically registered on construction for + * legacy reasons, so we need to explicitly unregister to clean them up, + * but this can go away once that stops happening. */ + conversation_manager = purple_conversation_manager_get_default(); + purple_conversation_manager_unregister(conversation_manager, conversation); + /* Clean up everything. */ g_clear_object(&info); g_clear_object(&member); @@ -176,6 +190,8 @@ test_purple_conversation_members_add_remove(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -186,5 +202,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/conversation/members/add-remove", test_purple_conversation_members_add_remove); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_credential_manager.c b/libpurple/tests/test_credential_manager.c index 376c436481..6374e91da0 100644 --- a/libpurple/tests/test_credential_manager.c +++ b/libpurple/tests/test_credential_manager.c @@ -311,6 +311,7 @@ test_purple_credential_manager_no_provider_read_password_cb(GObject *obj, password = purple_credential_manager_read_password_finish(manager, res, &error); g_assert_error(error, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0); + g_clear_error(&error); g_assert_null(password); g_clear_object(&account); @@ -360,6 +361,7 @@ test_purple_credential_manager_no_provider_write_password_cb(GObject *obj, r = purple_credential_manager_write_password_finish(manager, res, &error); g_assert_false(r); g_assert_error(error, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0); + g_clear_error(&error); g_clear_object(&account); @@ -409,6 +411,7 @@ test_purple_credential_manager_no_provider_clear_password_cb(GObject *obj, r = purple_credential_manager_clear_password_finish(manager, res, &error); g_assert_false(r); g_assert_error(error, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0); + g_clear_error(&error); g_clear_object(&account); @@ -696,5 +699,7 @@ main(gint argc, gchar *argv[]) { g_main_loop_unref(loop); + test_ui_purple_uninit(); + return ret; } diff --git a/libpurple/tests/test_credential_provider.c b/libpurple/tests/test_credential_provider.c index 4ae51162ce..3a62732b29 100644 --- a/libpurple/tests/test_credential_provider.c +++ b/libpurple/tests/test_credential_provider.c @@ -539,5 +539,7 @@ main(gint argc, gchar *argv[]) { g_main_loop_unref(loop); + test_ui_purple_uninit(); + return ret; } diff --git a/libpurple/tests/test_history_adapter.c b/libpurple/tests/test_history_adapter.c index 995be8d561..36c1ff9f97 100644 --- a/libpurple/tests/test_history_adapter.c +++ b/libpurple/tests/test_history_adapter.c @@ -236,6 +236,7 @@ static void test_purple_history_adapter_test_write(void) { PurpleAccount *account = NULL; PurpleConversation *conversation = NULL; + PurpleConversationManager *conversation_manager = NULL; PurpleHistoryAdapter *adapter = test_purple_history_adapter_new(); PurpleMessage *message = NULL; TestPurpleHistoryAdapter *ta = TEST_PURPLE_HISTORY_ADAPTER(adapter); @@ -262,10 +263,14 @@ test_purple_history_adapter_test_write(void) { g_clear_object(&adapter); g_clear_object(&message); - /* TODO: something is freeing our ref. */ - /* g_clear_object(&account); */ + /* TODO: Conversations are automatically registered on construction for + * legacy reasons, so we need to explicitly unregister to clean them up, + * but this can go away once that stops happening. */ + conversation_manager = purple_conversation_manager_get_default(); + purple_conversation_manager_unregister(conversation_manager, conversation); g_clear_object(&conversation); + g_clear_object(&account); } @@ -274,6 +279,8 @@ test_purple_history_adapter_test_write(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -291,5 +298,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/history-adapter/write", test_purple_history_adapter_test_write); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_history_manager.c b/libpurple/tests/test_history_manager.c index 6a12e37776..f05ffd6d74 100644 --- a/libpurple/tests/test_history_manager.c +++ b/libpurple/tests/test_history_manager.c @@ -315,6 +315,7 @@ static void test_purple_history_manager_no_adapter_write(void) { PurpleAccount *account = NULL; PurpleConversation *conversation = NULL; + PurpleConversationManager *conversation_manager = NULL; PurpleHistoryManager *manager = NULL; PurpleMessage *message = NULL; GError *error = NULL; @@ -337,11 +338,15 @@ test_purple_history_manager_no_adapter_write(void) { g_assert_false(result); - /* TODO: someone is freeing our ref. */ - /* g_clear_object(&account); */ + /* TODO: Conversations are automatically registered on construction for + * legacy reasons, so we need to explicitly unregister to clean them up, + * but this can go away once that stops happening. */ + conversation_manager = purple_conversation_manager_get_default(); + purple_conversation_manager_unregister(conversation_manager, conversation); g_clear_object(&message); g_clear_object(&conversation); + g_clear_object(&account); g_clear_object(&manager); } @@ -429,6 +434,7 @@ static void test_purple_history_manager_adapter_write(void) { PurpleAccount *account = NULL; PurpleConversation *conversation = NULL; + PurpleConversationManager *conversation_manager = NULL; PurpleHistoryManager *manager = NULL; PurpleHistoryAdapter *adapter = NULL; PurpleMessage *message = NULL; @@ -471,10 +477,14 @@ test_purple_history_manager_adapter_write(void) { g_clear_object(&adapter); g_clear_object(&message); - /* TODO: something is freeing our ref. */ - /* g_clear_object(&account); */ + /* TODO: Conversations are automatically registered on construction for + * legacy reasons, so we need to explicitly unregister to clean them up, + * but this can go away once that stops happening. */ + conversation_manager = purple_conversation_manager_get_default(); + purple_conversation_manager_unregister(conversation_manager, conversation); g_clear_object(&conversation); + g_clear_object(&account); g_clear_object(&manager); } @@ -515,7 +525,10 @@ main(gint argc, gchar *argv[]) { test_purple_history_manager_no_adapter_remove); g_test_add_func("/history-manager/no-adapter/write", test_purple_history_manager_no_adapter_write); + ret = g_test_run(); + test_ui_purple_uninit(); + return ret; } diff --git a/libpurple/tests/test_image.c b/libpurple/tests/test_image.c index a60855f46e..caabef0599 100644 --- a/libpurple/tests/test_image.c +++ b/libpurple/tests/test_image.c @@ -153,6 +153,7 @@ test_image_new_from_file(void) { "image/png" ); + g_free(edata); g_free(path); } diff --git a/libpurple/tests/test_notification.c b/libpurple/tests/test_notification.c index eee59f6383..05f74d3f9a 100644 --- a/libpurple/tests/test_notification.c +++ b/libpurple/tests/test_notification.c @@ -148,6 +148,8 @@ test_purple_notification_properties(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -159,5 +161,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/notification/properties", test_purple_notification_properties); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_notification_manager.c b/libpurple/tests/test_notification_manager.c index 153a3d63bb..fa094dd442 100644 --- a/libpurple/tests/test_notification_manager.c +++ b/libpurple/tests/test_notification_manager.c @@ -424,5 +424,7 @@ main(gint argc, gchar *argv[]) { g_main_loop_unref(loop); + test_ui_purple_uninit(); + return ret; } diff --git a/libpurple/tests/test_person.c b/libpurple/tests/test_person.c index a47852b692..1a828f852f 100644 --- a/libpurple/tests/test_person.c +++ b/libpurple/tests/test_person.c @@ -494,6 +494,8 @@ test_purple_person_matches_contact_info(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -532,5 +534,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/person/matches/contact_info", test_purple_person_matches_contact_info); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_protocol.c b/libpurple/tests/test_protocol.c index 6bd3b7acf1..3438172555 100644 --- a/libpurple/tests/test_protocol.c +++ b/libpurple/tests/test_protocol.c @@ -242,5 +242,7 @@ main(gint argc, gchar *argv[]) { g_main_loop_unref(loop); + test_ui_purple_uninit(); + return ret; } diff --git a/libpurple/tests/test_protocol_xfer.c b/libpurple/tests/test_protocol_xfer.c index 53d715ba1d..71627c3f38 100644 --- a/libpurple/tests/test_protocol_xfer.c +++ b/libpurple/tests/test_protocol_xfer.c @@ -117,51 +117,71 @@ test_purple_protocol_xfer_new(void) { *****************************************************************************/ static void test_purple_protocol_xfer_can_receive_func(void) { - TestPurpleProtocolXfer *xfer = test_purple_protocol_xfer_new(); - PurpleAccount *a = purple_account_new("prpl-xfer-can-receive", "prpl-xfer"); - PurpleConnection *c = g_object_new(PURPLE_TYPE_CONNECTION, "account", a, NULL); + TestPurpleProtocolXfer *xfer = NULL; + PurpleAccount *account = NULL; + PurpleConnection *connection = NULL; gboolean actual = FALSE; + xfer = test_purple_protocol_xfer_new(); + account = purple_account_new("prpl-xfer-can-receive", "prpl-xfer"); + connection = g_object_new(PURPLE_TYPE_CONNECTION, "account", account, NULL); + g_assert_true(PURPLE_IS_PROTOCOL_XFER(xfer)); xfer->can_send = FALSE; - actual = purple_protocol_xfer_can_receive( - PURPLE_PROTOCOL_XFER(xfer), - c, - "foo" - ); + actual = purple_protocol_xfer_can_receive(PURPLE_PROTOCOL_XFER(xfer), + connection, "foo"); g_assert_false(actual); xfer->can_send = TRUE; actual = purple_protocol_xfer_can_receive( PURPLE_PROTOCOL_XFER(xfer), - c, + connection, "foo" ); g_assert_true(actual); + + g_clear_object(&account); + g_clear_object(&xfer); } static void test_purple_protocol_xfer_send_file_func(void) { - TestPurpleProtocolXfer *prplxfer = g_object_new(test_purple_protocol_xfer_get_type(), NULL); - PurpleAccount *a = purple_account_new("prpl-xfer-send", "prpl-xfer"); - PurpleConnection *c = g_object_new(PURPLE_TYPE_CONNECTION, "account", a, NULL); + TestPurpleProtocolXfer *prplxfer = NULL; + PurpleAccount *account = NULL; + PurpleConnection *connection = NULL; - purple_protocol_xfer_send_file(PURPLE_PROTOCOL_XFER(prplxfer), c, "foo", "somefile"); + prplxfer = g_object_new(test_purple_protocol_xfer_get_type(), NULL); + account = purple_account_new("prpl-xfer-send", "prpl-xfer"); + connection = g_object_new(PURPLE_TYPE_CONNECTION, "account", account, NULL); + + purple_protocol_xfer_send_file(PURPLE_PROTOCOL_XFER(prplxfer), connection, + "foo", "somefile"); g_assert_true(prplxfer->send_called); + + g_clear_object(&account); + g_clear_object(&prplxfer); } static void test_purple_protocol_xfer_new_func(void) { - TestPurpleProtocolXfer *prplxfer = g_object_new(test_purple_protocol_xfer_get_type(), NULL); - PurpleAccount *a = purple_account_new("prpl-xfer-new-xfer", "prpl-xfer"); - PurpleConnection *c = g_object_new(PURPLE_TYPE_CONNECTION, "account", a, NULL); + TestPurpleProtocolXfer *prplxfer = NULL; + PurpleAccount *account = NULL; + PurpleConnection *connection = NULL; PurpleXfer *xfer = NULL; - xfer = purple_protocol_xfer_new_xfer(PURPLE_PROTOCOL_XFER(prplxfer), c, "foo"); + prplxfer = g_object_new(test_purple_protocol_xfer_get_type(), NULL); + account = purple_account_new("prpl-xfer-new-xfer", "prpl-xfer"); + connection = g_object_new(PURPLE_TYPE_CONNECTION, "account", account, NULL); + + xfer = purple_protocol_xfer_new_xfer(PURPLE_PROTOCOL_XFER(prplxfer), + connection, "foo"); g_assert_true(PURPLE_IS_XFER(xfer)); g_assert_cmpstr("foo", ==, purple_xfer_get_remote_user(xfer)); g_assert_true(prplxfer->new_xfer_called); + + g_clear_object(&account); + g_clear_object(&prplxfer); } /****************************************************************************** @@ -194,5 +214,8 @@ main(gint argc, gchar **argv) { res = g_test_run(); + /* FIXME: We cannot call test_ui_purple_uninit() here because connections + * are not easily destroyed if they haven't been fully implemented. */ + return res; } diff --git a/libpurple/tests/test_purplepath.c b/libpurple/tests/test_purplepath.c index 98d5612ba5..8512bba804 100644 --- a/libpurple/tests/test_purplepath.c +++ b/libpurple/tests/test_purplepath.c @@ -45,6 +45,8 @@ test_purplepath_data_dir(void) { gint main(gint argc, gchar **argv) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -57,5 +59,10 @@ main(gint argc, gchar **argv) { test_purplepath_config_dir); g_test_add_func("/purplepath/datadir", test_purplepath_data_dir); - return g_test_run(); + + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } diff --git a/libpurple/tests/test_queued_output_stream.c b/libpurple/tests/test_queued_output_stream.c index ff5b2f2b11..c251197cf2 100644 --- a/libpurple/tests/test_queued_output_stream.c +++ b/libpurple/tests/test_queued_output_stream.c @@ -255,6 +255,7 @@ test_queued_output_stream_push_bytes_async_error(void) { g_assert_no_error(err); g_assert_true(ret); + g_clear_object(&cancellable); g_clear_object(&queued); g_clear_object(&output); } diff --git a/libpurple/tests/test_ui.c b/libpurple/tests/test_ui.c index 469981d076..ea66f041e7 100644 --- a/libpurple/tests/test_ui.c +++ b/libpurple/tests/test_ui.c @@ -182,3 +182,8 @@ test_ui_purple_init(void) { * the preferences using purple_plugins_save_loaded() */ purple_plugins_load_saved("/purple/test_ui/plugins/saved"); } + +void +test_ui_purple_uninit(void) { + purple_core_quit(); +} diff --git a/libpurple/tests/test_ui.h b/libpurple/tests/test_ui.h index b3bc0d49c5..9d75c36fbe 100644 --- a/libpurple/tests/test_ui.h +++ b/libpurple/tests/test_ui.h @@ -27,6 +27,7 @@ G_BEGIN_DECLS void test_ui_purple_init(void); +void test_ui_purple_uninit(void); G_END_DECLS diff --git a/libpurple/tests/test_util.c b/libpurple/tests/test_util.c index bf7b2f7100..921104d126 100644 --- a/libpurple/tests/test_util.c +++ b/libpurple/tests/test_util.c @@ -44,10 +44,19 @@ test_util_filename_escape(void) { *****************************************************************************/ static void test_util_text_strip_mnemonic(void) { - g_assert_cmpstr("", ==, purple_text_strip_mnemonic("")); - g_assert_cmpstr("foo", ==, purple_text_strip_mnemonic("foo")); - g_assert_cmpstr("foo", ==, purple_text_strip_mnemonic("_foo")); + char *result = NULL; + result = purple_text_strip_mnemonic(""); + g_assert_cmpstr("", ==, result); + g_free(result); + + result = purple_text_strip_mnemonic("foo"); + g_assert_cmpstr("foo", ==, result); + g_free(result); + + result = purple_text_strip_mnemonic("_foo"); + g_assert_cmpstr("foo", ==, result); + g_free(result); } /****************************************************************************** diff --git a/libpurple/tests/test_whiteboard_manager.c b/libpurple/tests/test_whiteboard_manager.c index 3a6ddb19d6..8e32354039 100644 --- a/libpurple/tests/test_whiteboard_manager.c +++ b/libpurple/tests/test_whiteboard_manager.c @@ -43,6 +43,8 @@ test_purple_whiteboard_manager_get_default(void) { *****************************************************************************/ gint main(gint argc, gchar *argv[]) { + gint ret = 0; + g_test_init(&argc, &argv, NULL); test_ui_purple_init(); @@ -50,5 +52,9 @@ main(gint argc, gchar *argv[]) { g_test_add_func("/whiteboard-manager/get-default", test_purple_whiteboard_manager_get_default); - return g_test_run(); + ret = g_test_run(); + + test_ui_purple_uninit(); + + return ret; } |