From acb6e0539fef4f1db2a5746576c8b64d03b77d73 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 25 Sep 2016 23:30:44 +0100 Subject: [PATCH] Fix assertion errors in unit tests --- src/plugins/plugins.c | 2 ++ tests/unittests/test_server_events.c | 8 ++++++++ tests/unittests/unittests.c | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/plugins/plugins.c b/src/plugins/plugins.c index 97e328d7..a4846b20 100644 --- a/src/plugins/plugins.c +++ b/src/plugins/plugins.c @@ -839,4 +839,6 @@ plugins_shutdown(void) plugin_settings_close(); callbacks_close(); disco_close(); + g_hash_table_destroy(plugins); + plugins = NULL; } diff --git a/tests/unittests/test_server_events.c b/tests/unittests/test_server_events.c index 9ab54cdb..fb178ac2 100644 --- a/tests/unittests/test_server_events.c +++ b/tests/unittests/test_server_events.c @@ -17,6 +17,7 @@ void console_shows_online_presence_when_set_online(void **state) { prefs_set_string(PREF_STATUSES_CONSOLE, "online"); + plugins_init(); roster_create(); char *barejid = "test1@server"; roster_add(barejid, "bob", NULL, "both", FALSE); @@ -29,11 +30,13 @@ void console_shows_online_presence_when_set_online(void **state) sv_ev_contact_online(barejid, resource, NULL, NULL); roster_destroy(); + plugins_shutdown(); } void console_shows_online_presence_when_set_all(void **state) { prefs_set_string(PREF_STATUSES_CONSOLE, "all"); + plugins_init(); roster_create(); char *barejid = "test1@server"; roster_add(barejid, "bob", NULL, "both", FALSE); @@ -46,11 +49,13 @@ void console_shows_online_presence_when_set_all(void **state) sv_ev_contact_online(barejid, resource, NULL, NULL); roster_destroy(); + plugins_shutdown(); } void console_shows_dnd_presence_when_set_all(void **state) { prefs_set_string(PREF_STATUSES_CONSOLE, "all"); + plugins_init(); roster_create(); char *barejid = "test1@server"; roster_add(barejid, "bob", NULL, "both", FALSE); @@ -63,10 +68,12 @@ void console_shows_dnd_presence_when_set_all(void **state) sv_ev_contact_online(barejid, resource, NULL, NULL); roster_destroy(); + plugins_shutdown(); } void handle_offline_removes_chat_session(void **state) { + plugins_init(); roster_create(); chat_sessions_init(); char *barejid = "friend@server.chat.com"; @@ -85,6 +92,7 @@ void handle_offline_removes_chat_session(void **state) roster_destroy(); chat_sessions_clear(); + plugins_shutdown(); } void lost_connection_clears_chat_sessions(void **state) diff --git a/tests/unittests/unittests.c b/tests/unittests/unittests.c index e427e151..e0a5dd34 100644 --- a/tests/unittests/unittests.c +++ b/tests/unittests/unittests.c @@ -429,7 +429,9 @@ int main(int argc, char* argv[]) { unit_test_setup_teardown(console_shows_dnd_presence_when_set_all, load_preferences, close_preferences), - unit_test(handle_offline_removes_chat_session), + unit_test_setup_teardown(handle_offline_removes_chat_session, + load_preferences, + close_preferences), unit_test(lost_connection_clears_chat_sessions), unit_test(cmd_alias_add_shows_usage_when_no_args),