FS-10167: Added test to identify issue with ks_pool_realloc

This commit is contained in:
Shane Bryldt 2017-04-03 15:49:37 -05:00
parent e26e873268
commit 7861bb0d49
2 changed files with 52 additions and 0 deletions

View File

@ -9,6 +9,11 @@ testpools_SOURCES = testpools.c tap.c
testpools_CFLAGS = $(AM_CFLAGS)
testpools_LDADD = $(TEST_LDADD)
check_PROGRAMS += testrealloc
testrealloc_SOURCES = testrealloc.c tap.c
testrealloc_CFLAGS = $(AM_CFLAGS)
testrealloc_LDADD = $(TEST_LDADD)
check_PROGRAMS += testacl
testacl_SOURCES = testacl.c tap.c
testacl_CFLAGS = $(AM_CFLAGS)

View File

@ -0,0 +1,47 @@
#include "ks.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "tap.h"
int main(int argc, char **argv)
{
ks_pool_t *pool;
uint32_t *buf = NULL;
intptr_t ptr = 0;
ks_init();
plan(3);
ks_pool_open(&pool);
buf = (uint32_t *)ks_pool_resize(pool, buf, sizeof(uint32_t) * 1);
ok(buf != NULL);
ptr = (intptr_t)buf;
buf = (uint32_t *)ks_pool_resize(pool, buf, sizeof(uint32_t) * 2);
ok(buf != NULL);
ok((intptr_t)buf == ptr);
buf = (uint32_t *)ks_pool_resize(pool, buf, sizeof(uint32_t) * 1);
ok(buf != NULL);
ok((intptr_t)buf == ptr);
buf = (uint32_t *)ks_pool_resize(pool, buf, sizeof(uint32_t) * 2);
ok(buf != NULL);
ok((intptr_t)buf == ptr);
ks_pool_free(pool, &buf);
ks_pool_close(&pool);
ks_shutdown();
done_testing();
}