Mercurial > gnulib
changeset 40226:5b87a9bf7240
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.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 10 Mar 2019 15:14:01 +0100 |
parents | 1e0e3e621a8d |
children | 5207eb0dcd2a |
files | ChangeLog tests/uninorm/test-u32-nfc-big.c tests/uninorm/test-u32-nfd-big.c tests/uninorm/test-u32-nfkc-big.c tests/uninorm/test-u32-nfkd-big.c tests/uninorm/test-u32-normalize-big.c tests/uninorm/test-u32-normalize-big.h |
diffstat | 7 files changed, 54 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Mar 10 14:18:37 2019 +0100 +++ b/ChangeLog Sun Mar 10 15:14:01 2019 +0100 @@ -1,3 +1,18 @@ +2019-03-10 Bruno Haible <bruno@clisp.org> + + 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. + 2019-03-10 Bruno Haible <bruno@clisp.org> di-set: Fix memory leak.
--- a/tests/uninorm/test-u32-nfc-big.c Sun Mar 10 14:18:37 2019 +0100 +++ b/tests/uninorm/test-u32-nfc-big.c Sun Mar 10 15:14:01 2019 +0100 @@ -106,6 +106,8 @@ test_specific (&file, check); test_other (&file, UNINORM_NFC); + free_normalization_test_file (&file); + return 0; }
--- a/tests/uninorm/test-u32-nfd-big.c Sun Mar 10 14:18:37 2019 +0100 +++ b/tests/uninorm/test-u32-nfd-big.c Sun Mar 10 15:14:01 2019 +0100 @@ -106,6 +106,8 @@ test_specific (&file, check); test_other (&file, UNINORM_NFD); + free_normalization_test_file (&file); + return 0; }
--- a/tests/uninorm/test-u32-nfkc-big.c Sun Mar 10 14:18:37 2019 +0100 +++ b/tests/uninorm/test-u32-nfkc-big.c Sun Mar 10 15:14:01 2019 +0100 @@ -103,6 +103,8 @@ test_specific (&file, check); test_other (&file, UNINORM_NFKC); + free_normalization_test_file (&file); + return 0; }
--- a/tests/uninorm/test-u32-nfkd-big.c Sun Mar 10 14:18:37 2019 +0100 +++ b/tests/uninorm/test-u32-nfkd-big.c Sun Mar 10 15:14:01 2019 +0100 @@ -103,6 +103,8 @@ test_specific (&file, check); test_other (&file, UNINORM_NFKD); + free_normalization_test_file (&file); + return 0; }
--- a/tests/uninorm/test-u32-normalize-big.c Sun Mar 10 14:18:37 2019 +0100 +++ b/tests/uninorm/test-u32-normalize-big.c Sun Mar 10 15:14:01 2019 +0100 @@ -297,8 +297,34 @@ 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
--- a/tests/uninorm/test-u32-normalize-big.h Sun Mar 10 14:18:37 2019 +0100 +++ b/tests/uninorm/test-u32-normalize-big.h Sun Mar 10 15:14:01 2019 +0100 @@ -48,7 +48,7 @@ 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 @@ /* 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);