summaryrefslogtreecommitdiff
path: root/libpurple
diff options
context:
space:
mode:
Diffstat (limited to 'libpurple')
-rw-r--r--libpurple/tests/test_account_manager.c8
-rw-r--r--libpurple/tests/test_account_option.c15
-rw-r--r--libpurple/tests/test_authorization_request.c8
-rw-r--r--libpurple/tests/test_contact.c8
-rw-r--r--libpurple/tests/test_contact_info.c8
-rw-r--r--libpurple/tests/test_contact_manager.c8
-rw-r--r--libpurple/tests/test_conversation.c22
-rw-r--r--libpurple/tests/test_credential_manager.c5
-rw-r--r--libpurple/tests/test_credential_provider.c2
-rw-r--r--libpurple/tests/test_history_adapter.c17
-rw-r--r--libpurple/tests/test_history_manager.c21
-rw-r--r--libpurple/tests/test_image.c1
-rw-r--r--libpurple/tests/test_notification.c8
-rw-r--r--libpurple/tests/test_notification_manager.c2
-rw-r--r--libpurple/tests/test_person.c8
-rw-r--r--libpurple/tests/test_protocol.c2
-rw-r--r--libpurple/tests/test_protocol_xfer.c57
-rw-r--r--libpurple/tests/test_purplepath.c9
-rw-r--r--libpurple/tests/test_queued_output_stream.c1
-rw-r--r--libpurple/tests/test_ui.c5
-rw-r--r--libpurple/tests/test_ui.h1
-rw-r--r--libpurple/tests/test_util.c15
-rw-r--r--libpurple/tests/test_whiteboard_manager.c8
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;
}