From cca3d303023d53b5d0af96751f379b2d0e28cd18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Wed, 21 Dec 2016 16:56:05 +0100 Subject: test/core: make core tests asan clean --- core/array.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'core/array.c') diff --git a/core/array.c b/core/array.c index ced8e26..e6c0265 100644 --- a/core/array.c +++ b/core/array.c @@ -48,6 +48,8 @@ static void test_small_objects(void) { array_clear(&arr); ok(array_length(&arr) == 0 && array_get(&arr, 0) == NULL && errno == EINVAL, "Clear"); + + array_release(&arr); } static void test_large_objects(void) { @@ -87,6 +89,8 @@ static void test_large_objects(void) { array_clear(&arr); ok(array_length(&arr) == 0 && array_get(&arr, 0) == NULL && errno == EINVAL, "Clear"); + + array_release(&arr); } static void test_pointers(void) { @@ -100,9 +104,11 @@ static void test_pointers(void) { for (size_t i = 0; i < len; i++) { items[i] = malloc(sizeof(Item)); - snprintf(items[i]->key, sizeof(items[i]->key), "key: %zu", i); items[i]->value = values[i]; + } + + for (size_t i = 0; i < len; i++) { Item *item; ok(array_add_ptr(&arr, items[i]) && array_length(&arr) == i+1, "Add item: %zu = %p", i, (void*)items[i]); @@ -124,6 +130,12 @@ static void test_pointers(void) { array_clear(&arr); ok(array_length(&arr) == 0 && array_get_ptr(&arr, 0) == NULL && errno == EINVAL, "Clear"); + + for (size_t i = 0; i < len; i++) { + ok(array_add_ptr(&arr, items[i]) && array_length(&arr) == i+1, + "Re-add item: %zu = %p", i, (void*)items[i]); + } + array_release_full(&arr); } int main(int argc, char *argv[]) { -- cgit v1.2.3