summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeesoo Ahn <yisooan@fedoraproject.org>2019-10-20 12:53:06 +0900
committerLeesoo Ahn <yisooan@fedoraproject.org>2019-10-20 12:57:28 +0900
commit8ba89fdd445147cf198e98790e914e0c578a5b8d (patch)
treed2301aae5616163c981e9fe6f5d6e3e577e89102
parent6e3e435854574e986473095b02f48ab287e1e3ed (diff)
downloadlibgfbgraph-8ba89fdd445147cf198e98790e914e0c578a5b8d.tar.gz
tests/gtestutils: Fix memory leaks
Fix memoy leaks and use g_auto* convenient macros instead of manually freeing resources. https://gitlab.gnome.org/GNOME/libgfbgraph/issues/4
-rw-r--r--tests/gtestutils.c44
1 files changed, 20 insertions, 24 deletions
diff --git a/tests/gtestutils.c b/tests/gtestutils.c
index fccf9f9..eef4529 100644
--- a/tests/gtestutils.c
+++ b/tests/gtestutils.c
@@ -2,6 +2,7 @@
/*
* libgfbgraph - GObject library for Facebook Graph API
* Copyright (C) 2013-2015 Álvaro Peña <alvaropg@gmail.com>
+ * 2019 Leesoo Ahn <yisooan@fedoraproject.org>
*
* GFBGraph is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -54,14 +55,14 @@ gfbgraph_test_app_setup (void)
GFBGraphTestApp *app;
RestProxy *proxy;
RestProxyCall *rest_call;
- gchar *function_path;
- GKeyFile *app_key_file;
- gchar *app_key_filename;
- GError *error = NULL;
- const char *payload;
+ g_autofree gchar *function_path = NULL;
+ g_autofree gchar *app_key_filename = NULL;
+ g_autoptr(GError) error = NULL;
+ g_autoptr(GKeyFile) app_key_file = NULL;
+ g_autoptr(JsonParser) jparser = NULL;
+ g_autoptr(JsonReader) jreader = NULL;
JsonNode *jnode;
- JsonParser *jparser;
- JsonReader *jreader;
+ const char *payload;
app_key_filename = g_test_build_filename (G_TEST_BUILT,
"credentials.ini",
@@ -109,7 +110,6 @@ gfbgraph_test_app_setup (void)
json_reader_read_element (jreader, 0);
app->access_token = g_strdup(json_reader_get_string_value (jreader));
json_reader_end_element (jreader);
- g_object_unref(jparser);
g_clear_object(&rest_call);
g_clear_object(&proxy);
@@ -122,13 +122,13 @@ gfbgraph_test_fixture_setup (GFBGraphTestFixture *fixture, gconstpointer user_da
{
RestProxy *proxy;
RestProxyCall *rest_call;
- gchar *function_path;
+ g_autofree gchar *function_path = NULL;
const gchar *payload;
- GError *error = NULL;
+ g_autoptr(GError) error = NULL;
const GFBGraphTestApp *app = user_data;
JsonNode *jnode;
- JsonParser *jparser;
- JsonReader *jreader;
+ g_autoptr(JsonParser) jparser = NULL;
+ g_autoptr(JsonReader) jreader = NULL;
const gchar *access_token;
/* Create a new user */
@@ -159,7 +159,7 @@ gfbgraph_test_fixture_setup (GFBGraphTestFixture *fixture, gconstpointer user_da
fixture->user_id = g_strdup (json_reader_get_string_value (jreader));
json_reader_end_element (jreader);
json_reader_read_element (jreader, 1);
- access_token = g_strdup (json_reader_get_string_value (jreader));
+ access_token = json_reader_get_string_value (jreader);
json_reader_end_element (jreader);
json_reader_read_element (jreader, 3);
fixture->user_email = g_strdup (json_reader_get_string_value (jreader));
@@ -167,18 +167,17 @@ gfbgraph_test_fixture_setup (GFBGraphTestFixture *fixture, gconstpointer user_da
fixture->authorizer = gfbgraph_simple_authorizer_new (access_token);
- if (function_path)
- g_free (function_path);
g_clear_object (&rest_call);
g_clear_object (&proxy);
+
}
static void
gfbgraph_test_fixture_teardown (GFBGraphTestFixture *fixture, G_GNUC_UNUSED gconstpointer user_data)
{
- SoupSession *ssession;
- SoupMessage *smessage;
- gchar *function_path;
+ g_autoptr(SoupSession) ssession = NULL;
+ g_autoptr(SoupMessage) smessage = NULL;
+ g_autofree gchar *function_path = NULL;
guint status;
/* Delete the test user and clean up memory */
@@ -192,7 +191,6 @@ gfbgraph_test_fixture_teardown (GFBGraphTestFixture *fixture, G_GNUC_UNUSED gcon
status = soup_session_send_message (ssession, smessage);
g_assert_cmpint(status, ==, 200);
- g_free (function_path);
g_free (fixture->user_id);
g_free (fixture->user_email);
g_object_unref (fixture->authorizer);
@@ -201,18 +199,15 @@ gfbgraph_test_fixture_teardown (GFBGraphTestFixture *fixture, G_GNUC_UNUSED gcon
static void
gfbgraph_test_me (GFBGraphTestFixture *fixture, G_GNUC_UNUSED gconstpointer user_data)
{
- GFBGraphUser *me;
- GError *error = NULL;
+ g_autoptr(GFBGraphUser) me = NULL;
+ g_autoptr(GError) error = NULL;
me = gfbgraph_user_get_me (GFBGRAPH_AUTHORIZER (fixture->authorizer), &error);
g_assert_no_error (error);
g_assert (GFBGRAPH_IS_USER (me));
g_assert_cmpstr (fixture->user_id, ==, gfbgraph_node_get_id (GFBGRAPH_NODE (me)));
-
g_assert_cmpstr (fixture->user_email, ==, gfbgraph_user_get_email (me));
-
- g_object_unref (me);
}
static G_GNUC_UNUSED void
@@ -280,6 +275,7 @@ main (int argc, char **argv)
g_free (app->client_secret);
if (app->access_token)
g_free (app->access_token);
+ g_free (app);
}
return test_result;