aboutsummaryrefslogtreecommitdiff
path: root/core/array.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-12-21 16:56:05 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-12-21 16:56:05 +0100
commitcca3d303023d53b5d0af96751f379b2d0e28cd18 (patch)
treeabc9d454a06e9902d4424cebefce0564d864dd0f /core/array.c
parent869152604e454582a5e4a0908d4e7c88125c4e5b (diff)
downloadvis-cca3d303023d53b5d0af96751f379b2d0e28cd18.tar.gz
vis-cca3d303023d53b5d0af96751f379b2d0e28cd18.tar.xz
test/core: make core tests asan clean
Diffstat (limited to 'core/array.c')
-rw-r--r--core/array.c14
1 files changed, 13 insertions, 1 deletions
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[]) {