diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cf66eee..18ecc4f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -83,3 +83,4 @@ add_subdirectory(order) add_subdirectory(log) add_subdirectory(cxx) add_subdirectory(traces) +add_subdirectory(mempool) diff --git a/test/mempool/CMakeLists.txt b/test/mempool/CMakeLists.txt new file mode 100644 index 0000000..761be6e --- /dev/null +++ b/test/mempool/CMakeLists.txt @@ -0,0 +1,6 @@ +# Copyright (C) 2025 Huawei Technologies Co., Ltd. # +# SPDX-License-Identifier: 0BSD # + +add_executable(mempool_reuse_test mempool_reuse_test.c) +target_link_libraries(mempool_reuse_test PRIVATE dice.h dice.o) +add_test(NAME mempool-reuse-test COMMAND mempool_reuse_test) diff --git a/test/mempool/mempool_reuse_test.c b/test/mempool/mempool_reuse_test.c new file mode 100644 index 0000000..1729e50 --- /dev/null +++ b/test/mempool/mempool_reuse_test.c @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2025 Huawei Technologies Co., Ltd. + * SPDX-License-Identifier: 0BSD + */ +#include +#include +#include + +#include + +int +main(void) +{ + const size_t size = 64; + uint8_t *first = mempool_alloc(size); + assert(first != NULL); + + memset(first, 0xAB, size); + mempool_free(first); + + uint8_t *second = mempool_alloc(size); + assert(second != NULL); + assert(second == first); + + for (size_t i = 0; i < size; ++i) + assert(second[i] == 0xAB); + + mempool_free(second); + return 0; +}