[Groonga-commit] groonga/groonga [master] [test] fixed memory leaks.

Zurück zum Archiv-Index

null+****@clear***** null+****@clear*****
2012年 2月 8日 (水) 17:50:58 JST


Kouhei Sutou	2012-02-08 17:50:58 +0900 (Wed, 08 Feb 2012)

  New Revision: 44075a3b8790cddd34ca0afde983d99dc2913638

  Log:
    [test] fixed memory leaks.

  Modified files:
    test/unit/core/test-cast-table.c
    test/unit/core/test-hash-cursor.c
    test/unit/core/test-patricia-trie-search.c
    test/unit/core/test-table-patricia-trie-cursor.c
    test/unit/core/test-table-sort-geo.c
    test/unit/core/test-view-operations.c

  Modified: test/unit/core/test-cast-table.c (+5 -2)
===================================================================
--- test/unit/core/test-cast-table.c    2012-02-08 17:36:33 +0900 (37f3dcb)
+++ test/unit/core/test-cast-table.c    2012-02-08 17:50:58 +0900 (616e853)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2; coding: utf-8 -*- */
 /*
-  Copyright (C) 2010-2011  Kouhei Sutou <kou****@clear*****>
+  Copyright (C) 2010-2012  Kouhei Sutou <kou****@clear*****>
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -31,12 +31,14 @@ static grn_ctx context;
 static grn_obj *database;
 static grn_obj src, dest;
 
-static gchar *tmp_directory, *database_path;
+static gchar *tmp_directory;
 static grn_id users, daijiro;
 
 static void
 setup_database(void)
 {
+  gchar *database_path;
+
   tmp_directory = g_build_filename(grn_test_get_tmp_dir(),
                                    NULL);
   database_path = g_build_filename(tmp_directory,
@@ -45,6 +47,7 @@ setup_database(void)
 
   g_mkdir_with_parents(tmp_directory, 0700);
   database = grn_db_create(&context, database_path, NULL);
+  g_free(database_path);
 }
 
 static void

  Modified: test/unit/core/test-hash-cursor.c (+5 -5)
===================================================================
--- test/unit/core/test-hash-cursor.c    2012-02-08 17:36:33 +0900 (9e310f9)
+++ test/unit/core/test-hash-cursor.c    2012-02-08 17:50:58 +0900 (af49367)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2; coding: utf-8 -*- */
 /*
-  Copyright (C) 2008-2009  Kouhei Sutou <kou****@cozmi*****>
+  Copyright (C) 2008-2012  Kouhei Sutou <kou****@clear*****>
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -734,11 +734,11 @@ test_value(gconstpointer data)
   cut_assert_open_cursor();
   while (grn_hash_cursor_next(context, cursor) != GRN_ID_NIL) {
     void *key;
-    gchar *null_terminated_key;
+    const gchar *null_terminated_key;
     int size;
 
     size = grn_hash_cursor_get_key(context, cursor, &key);
-    null_terminated_key = g_string_free(g_string_new_len(key, size), FALSE);
+    null_terminated_key = cut_take_strndup(key, size);
     if (g_str_equal(null_terminated_key, key2)) {
       grn_hash_cursor_set_value(context, cursor, value2, GRN_OBJ_SET);
     } else if (g_str_equal(null_terminated_key, key4)) {
@@ -799,11 +799,11 @@ test_delete(gconstpointer data)
   cut_assert_open_cursor();
   while (grn_hash_cursor_next(context, cursor) != GRN_ID_NIL) {
     void *key;
-    gchar *null_terminated_key;
+    const gchar *null_terminated_key;
     int size;
 
     size = grn_hash_cursor_get_key(context, cursor, &key);
-    null_terminated_key = g_string_free(g_string_new_len(key, size), FALSE);
+    null_terminated_key = cut_take_strndup(key, size);
     if (g_str_equal(null_terminated_key, key1) ||
         g_str_equal(null_terminated_key, key5)) {
       grn_hash_cursor_delete(context, cursor, NULL);

  Modified: test/unit/core/test-patricia-trie-search.c (+2 -2)
===================================================================
--- test/unit/core/test-patricia-trie-search.c    2012-02-08 17:36:33 +0900 (e87d6f9)
+++ test/unit/core/test-patricia-trie-search.c    2012-02-08 17:50:58 +0900 (2f948d7)
@@ -194,11 +194,11 @@ test_lcp_search(gconstpointer data)
                           strlen(test_data->search_key));
   if (test_data->expected_key) {
     int size;
-    gchar *null_terminated_key;
+    const gchar *null_terminated_key;
 
     grn_test_assert_not_nil(id);
     size = grn_pat_get_key(context, trie, id, key, sizeof(key));
-    null_terminated_key = g_string_free(g_string_new_len(key, size), FALSE);
+    null_terminated_key = cut_take_strndup(key, size);
     cut_assert_equal_string(test_data->expected_key, null_terminated_key);
   } else {
     grn_test_assert_nil(id);

  Modified: test/unit/core/test-table-patricia-trie-cursor.c (+24 -24)
===================================================================
--- test/unit/core/test-table-patricia-trie-cursor.c    2012-02-08 17:36:33 +0900 (76d742c)
+++ test/unit/core/test-table-patricia-trie-cursor.c    2012-02-08 17:50:58 +0900 (a1f8a03)
@@ -998,24 +998,24 @@ data_near_geo_point(void)
                  NULL)
 
   ADD_DATA("no limit",
-           gcut_list_string_new(POINT(1, 2, 3,
-                                      4, 5, 6),
-                                POINT(1, 2, 3,
-                                      7, 8, 9),
-                                POINT(7, 8, 9,
-                                      4, 5, 6),
-                                POINT(88, 58, 58,
-                                      178, 58, 58),
-                                POINT(89, 59, 59,
-                                      179, -59, -59),
-                                POINT(89, 59, 59,
-                                      179, 59, 59),
-                                POINT(-89, -59, -59,
-                                      179, 59, 59),
-                                POINT(-89, -59, -59,
-                                      -179, -59, -59),
-                                POINT(-88, -58, -58,
-                                      -178, -58, -58),
+           gcut_list_string_new(TAKEN_POINT(1, 2, 3,
+                                            4, 5, 6),
+                                TAKEN_POINT(1, 2, 3,
+                                            7, 8, 9),
+                                TAKEN_POINT(7, 8, 9,
+                                            4, 5, 6),
+                                TAKEN_POINT(88, 58, 58,
+                                            178, 58, 58),
+                                TAKEN_POINT(89, 59, 59,
+                                            179, -59, -59),
+                                TAKEN_POINT(89, 59, 59,
+                                            179, 59, 59),
+                                TAKEN_POINT(-89, -59, -59,
+                                            179, 59, 59),
+                                TAKEN_POINT(-89, -59, -59,
+                                            -179, -59, -59),
+                                TAKEN_POINT(-88, -58, -58,
+                                            -178, -58, -58),
                                 NULL),
            0,
            TAKEN_POINT(0, 0, 0,
@@ -1023,12 +1023,12 @@ data_near_geo_point(void)
            0, -1,
            0);
   ADD_DATA("min-size",
-           gcut_list_string_new(POINT(1, 2, 3,
-                                      4, 5, 6),
-                                POINT(1, 2, 3,
-                                      7, 8, 9),
-                                POINT(7, 8, 9,
-                                      4, 5, 6),
+           gcut_list_string_new(TAKEN_POINT(1, 2, 3,
+                                            4, 5, 6),
+                                TAKEN_POINT(1, 2, 3,
+                                            7, 8, 9),
+                                TAKEN_POINT(7, 8, 9,
+                                            4, 5, 6),
                                 NULL),
            1,
            TAKEN_POINT(0, 0, 0,

  Modified: test/unit/core/test-table-sort-geo.c (+56 -43)
===================================================================
--- test/unit/core/test-table-sort-geo.c    2012-02-08 17:36:33 +0900 (83049d0)
+++ test/unit/core/test-table-sort-geo.c    2012-02-08 17:50:58 +0900 (9bde57c)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2; coding: utf-8 -*- */
 /*
-  Copyright (C) 2010-2011  Kouhei Sutou <kou****@clear*****>
+  Copyright (C) 2010-2012  Kouhei Sutou <kou****@clear*****>
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -45,6 +45,19 @@
     COORDINATE(latitude_hours, latitude_minutes, latitude_seconds),     \
     COORDINATE(longitude_hours, longitude_minutes, longitude_seconds))
 
+#define TAKEN_INSPECTED_POINT(latitude_hours,           \
+                              latitude_minutes,         \
+                              latitude_seconds,         \
+                              longitude_hours,          \
+                              longitude_minutes,        \
+                              longitude_seconds)        \
+  cut_take_string(INSPECTED_POINT(latitude_hours,       \
+                                  latitude_minutes,     \
+                                  latitude_seconds,     \
+                                  longitude_hours,      \
+                                  longitude_minutes,    \
+                                  longitude_seconds))
+
 void data_near_geo_point(void);
 void test_near_geo_point(gpointer data);
 
@@ -174,60 +187,60 @@ data_near_geo_point(void)
                  NULL)
 
   ADD_DATA("no limit",
-           gcut_list_string_new(INSPECTED_POINT(-1, -1, -1,
-                                                0, 0, 0),
-                                INSPECTED_POINT(1, 0, 0,
-                                                1, 0, 0),
-                                INSPECTED_POINT(-1, 0, 0,
-                                                1, 1, 1),
-                                INSPECTED_POINT(1, 1, 0,
-                                                1, 1, 0),
-                                INSPECTED_POINT(1, 1, 1,
-                                                1, 1, 1),
-                                INSPECTED_POINT(1, 1, 10,
-                                                -1, -1, -1),
-                                INSPECTED_POINT(-1, -2, -1,
-                                                -1, -1, -1),
-                                INSPECTED_POINT(90, 0, 0,
-                                                0, 0, 0),
-                                INSPECTED_POINT(-90, 0, 0,
-                                                1, 0, 0),
-                                INSPECTED_POINT(-2, -1, -1,
-                                                -179, -59, -59),
-                                INSPECTED_POINT(2, 1, 1,
-                                                180, 0, 0),
-                                INSPECTED_POINT(1, 2, 1,
-                                                -179, -59, -59),
-                                INSPECTED_POINT(-1, -1, -1,
-                                                180, 0, 0),
-                                INSPECTED_POINT(0, 0, 0,
-                                                -179, -59, -59),
-                                INSPECTED_POINT(0, 0, 0,
-                                                180, 0, 0),
+           gcut_list_string_new(TAKEN_INSPECTED_POINT(-1, -1, -1,
+                                                      0, 0, 0),
+                                TAKEN_INSPECTED_POINT(1, 0, 0,
+                                                      1, 0, 0),
+                                TAKEN_INSPECTED_POINT(-1, 0, 0,
+                                                      1, 1, 1),
+                                TAKEN_INSPECTED_POINT(1, 1, 0,
+                                                      1, 1, 0),
+                                TAKEN_INSPECTED_POINT(1, 1, 1,
+                                                      1, 1, 1),
+                                TAKEN_INSPECTED_POINT(1, 1, 10,
+                                                      -1, -1, -1),
+                                TAKEN_INSPECTED_POINT(-1, -2, -1,
+                                                      -1, -1, -1),
+                                TAKEN_INSPECTED_POINT(90, 0, 0,
+                                                      0, 0, 0),
+                                TAKEN_INSPECTED_POINT(-90, 0, 0,
+                                                      1, 0, 0),
+                                TAKEN_INSPECTED_POINT(-2, -1, -1,
+                                                      -179, -59, -59),
+                                TAKEN_INSPECTED_POINT(2, 1, 1,
+                                                      180, 0, 0),
+                                TAKEN_INSPECTED_POINT(1, 2, 1,
+                                                      -179, -59, -59),
+                                TAKEN_INSPECTED_POINT(-1, -1, -1,
+                                                      180, 0, 0),
+                                TAKEN_INSPECTED_POINT(0, 0, 0,
+                                                      -179, -59, -59),
+                                TAKEN_INSPECTED_POINT(0, 0, 0,
+                                                      180, 0, 0),
                                 NULL),
            TAKEN_POINT(0, 0, 0,
                        0, 0, 0),
            0, -1);
 
   ADD_DATA("limit",
-           gcut_list_string_new(INSPECTED_POINT(-1, -1, -1,
-                                                0, 0, 0),
-                                INSPECTED_POINT(1, 0, 0,
-                                                1, 0, 0),
-                                INSPECTED_POINT(-1, 0, 0,
-                                                1, 1, 1),
+           gcut_list_string_new(TAKEN_INSPECTED_POINT(-1, -1, -1,
+                                                      0, 0, 0),
+                                TAKEN_INSPECTED_POINT(1, 0, 0,
+                                                      1, 0, 0),
+                                TAKEN_INSPECTED_POINT(-1, 0, 0,
+                                                      1, 1, 1),
                                 NULL),
            TAKEN_POINT(0, 0, 0,
                        0, 0, 0),
            0, 3);
 
   ADD_DATA("offset - limit",
-           gcut_list_string_new(INSPECTED_POINT(-1, 0, 0,
-                                                1, 1, 1),
-                                INSPECTED_POINT(1, 1, 0,
-                                                1, 1, 0),
-                                INSPECTED_POINT(1, 1, 1,
-                                                1, 1, 1),
+           gcut_list_string_new(TAKEN_INSPECTED_POINT(-1, 0, 0,
+                                                      1, 1, 1),
+                                TAKEN_INSPECTED_POINT(1, 1, 0,
+                                                      1, 1, 0),
+                                TAKEN_INSPECTED_POINT(1, 1, 1,
+                                                      1, 1, 1),
                                 NULL),
            TAKEN_POINT(0, 0, 0,
                        0, 0, 0),

  Modified: test/unit/core/test-view-operations.c (+3 -1)
===================================================================
--- test/unit/core/test-view-operations.c    2012-02-08 17:36:33 +0900 (51c69eb)
+++ test/unit/core/test-view-operations.c    2012-02-08 17:50:58 +0900 (2cf115f)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2; coding: utf-8 -*- */
 /*
-  Copyright (C) 2010  Kouhei Sutou <kou****@clear*****>
+  Copyright (C) 2010-2012  Kouhei Sutou <kou****@clear*****>
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -178,6 +178,7 @@ test_sort(void)
   limit = 2;
   n_records = grn_table_sort(context, entries, 0, limit, result,
                              keys, sizeof(keys[0]) / sizeof(keys));
+  grn_obj_unlink(context, keys[0].key);
   grn_test_assert_equal_view(context,
                              gcut_take_new_list_string("yu",
                                                        "taro",
@@ -208,6 +209,7 @@ test_sort_offset(void)
   limit = 2;
   n_records = grn_table_sort(context, entries, offset, limit, result,
                              keys, sizeof(keys[0]) / sizeof(keys));
+  grn_obj_unlink(context, keys[0].key);
   grn_test_assert_equal_view(context,
                              gcut_take_new_list_string("taro",
                                                        "pochi",




Groonga-commit メーリングリストの案内
Zurück zum Archiv-Index