summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2019-03-10 15:14:01 +0100
committerBruno Haible <bruno@clisp.org>2019-03-10 15:14:01 +0100
commit011b1a33bb103abdce611f607ecf4d9fee5b024b (patch)
treee0beecbfb668e582adfd66cf626fcbfacd034010 /tests
parent3703dbbe88dd0454ca5759b24b2f827783986245 (diff)
downloadgnulib-011b1a33bb103abdce611f607ecf4d9fee5b024b.tar.gz
uninorm tests: Free allocated memory.
* tests/uninorm/test-u32-normalize-big.h (struct normalization_test_file): Remove 'const' from allocated member. (free_normalization_test_file): New declaration. * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated memory. (free_normalization_test_file): New function. * tests/uninorm/test-u32-nfc-big.c (main): Free allocated 'struct normalization_test_file' contents. * tests/uninorm/test-u32-nfd-big.c (main): Likewise. * tests/uninorm/test-u32-nfkc-big.c (main): Likewise. * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
Diffstat (limited to 'tests')
-rw-r--r--tests/uninorm/test-u32-nfc-big.c2
-rw-r--r--tests/uninorm/test-u32-nfd-big.c2
-rw-r--r--tests/uninorm/test-u32-nfkc-big.c2
-rw-r--r--tests/uninorm/test-u32-nfkd-big.c2
-rw-r--r--tests/uninorm/test-u32-normalize-big.c26
-rw-r--r--tests/uninorm/test-u32-normalize-big.h6
6 files changed, 39 insertions, 1 deletions
diff --git a/tests/uninorm/test-u32-nfc-big.c b/tests/uninorm/test-u32-nfc-big.c
index fe8de41f1f..03dd630e79 100644
--- a/tests/uninorm/test-u32-nfc-big.c
+++ b/tests/uninorm/test-u32-nfc-big.c
@@ -106,6 +106,8 @@ main (int argc, char *argv[])
test_specific (&file, check);
test_other (&file, UNINORM_NFC);
+ free_normalization_test_file (&file);
+
return 0;
}
diff --git a/tests/uninorm/test-u32-nfd-big.c b/tests/uninorm/test-u32-nfd-big.c
index 30c4f7b8ee..c53ee8c93d 100644
--- a/tests/uninorm/test-u32-nfd-big.c
+++ b/tests/uninorm/test-u32-nfd-big.c
@@ -106,6 +106,8 @@ main (int argc, char *argv[])
test_specific (&file, check);
test_other (&file, UNINORM_NFD);
+ free_normalization_test_file (&file);
+
return 0;
}
diff --git a/tests/uninorm/test-u32-nfkc-big.c b/tests/uninorm/test-u32-nfkc-big.c
index 09027db8e4..709d023faf 100644
--- a/tests/uninorm/test-u32-nfkc-big.c
+++ b/tests/uninorm/test-u32-nfkc-big.c
@@ -103,6 +103,8 @@ main (int argc, char *argv[])
test_specific (&file, check);
test_other (&file, UNINORM_NFKC);
+ free_normalization_test_file (&file);
+
return 0;
}
diff --git a/tests/uninorm/test-u32-nfkd-big.c b/tests/uninorm/test-u32-nfkd-big.c
index 55d8ed84a0..7fce8bc110 100644
--- a/tests/uninorm/test-u32-nfkd-big.c
+++ b/tests/uninorm/test-u32-nfkd-big.c
@@ -103,6 +103,8 @@ main (int argc, char *argv[])
test_specific (&file, check);
test_other (&file, UNINORM_NFKD);
+ free_normalization_test_file (&file);
+
return 0;
}
diff --git a/tests/uninorm/test-u32-normalize-big.c b/tests/uninorm/test-u32-normalize-big.c
index bec8b5d408..7c7d04d6c2 100644
--- a/tests/uninorm/test-u32-normalize-big.c
+++ b/tests/uninorm/test-u32-normalize-big.c
@@ -297,8 +297,34 @@ test_other (const struct normalization_test_file *file, uninorm_t nf)
input[0] = uc;
result = u32_normalize (nf, input, 1, NULL, &length);
ASSERT (result != NULL && length == 1 && result[0] == uc);
+
+ free (result);
+ }
+ }
+}
+
+void
+free_normalization_test_file (struct normalization_test_file *file)
+{
+ size_t part_index;
+
+ for (part_index = 0; part_index < 4; part_index++)
+ {
+ const struct normalization_test_part *p = &file->parts[part_index];
+ size_t line_index;
+
+ for (line_index = 0; line_index < p->lines_length; line_index++)
+ {
+ const struct normalization_test_line *l = &p->lines[line_index];
+ size_t sequence_index;
+
+ for (sequence_index = 0; sequence_index < 5; sequence_index++)
+ free (l->sequences[sequence_index]);
}
+ free (p->lines);
}
+ free (file->part1_c1_sorted);
+ free (file->filename);
}
#endif
diff --git a/tests/uninorm/test-u32-normalize-big.h b/tests/uninorm/test-u32-normalize-big.h
index e0fe75c04b..ed1366599b 100644
--- a/tests/uninorm/test-u32-normalize-big.h
+++ b/tests/uninorm/test-u32-normalize-big.h
@@ -48,7 +48,7 @@ struct normalization_test_file
sentinel value of 0x110000 at the end. */
ucs4_t *part1_c1_sorted;
/* The filename of the NormalizationTest.txt file. */
- const char *filename;
+ char *filename;
};
/* Read the NormalizationTest.txt file and return its contents. */
@@ -68,3 +68,7 @@ extern void
/* Perform the second compliance test. */
extern void
test_other (const struct normalization_test_file *file, uninorm_t nf);
+
+/* Free the representation of the NormalizationTest.txt file. */
+extern void
+ free_normalization_test_file (struct normalization_test_file *file);