From 3c184640f4909e4caab8f7647de2b4895f4de913 Mon Sep 17 00:00:00 2001 From: Rafal Rudnicki Date: Fri, 4 Jul 2025 10:15:45 +0000 Subject: [PATCH] improve umfPoolGetName tests --- test/memoryPoolAPI.cpp | 7 ++++++- test/poolFixtures.hpp | 9 +++++++++ test/pools/jemalloc_pool.cpp | 26 ++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/test/memoryPoolAPI.cpp b/test/memoryPoolAPI.cpp index 235db02fc..16d7afd58 100644 --- a/test/memoryPoolAPI.cpp +++ b/test/memoryPoolAPI.cpp @@ -554,4 +554,9 @@ INSTANTIATE_TEST_SUITE_P( umf_test::withGeneratedArgs(umfPoolCalloc), umf_test::withGeneratedArgs(umfPoolRealloc), umf_test::withGeneratedArgs(umfPoolMallocUsableSize), - umf_test::withGeneratedArgs(umfPoolGetLastAllocationError))); + umf_test::withGeneratedArgs(umfPoolGetLastAllocationError), + umf_test::withGeneratedArgs(umfPoolGetName), + umf_test::withGeneratedArgs(umfPoolGetMemoryProvider), + umf_test::withGeneratedArgs(umfPoolByPtr), + umf_test::withGeneratedArgs(umfPoolSetTag), + umf_test::withGeneratedArgs(umfPoolGetTag))); diff --git a/test/poolFixtures.hpp b/test/poolFixtures.hpp index e018b975c..633ebba43 100644 --- a/test/poolFixtures.hpp +++ b/test/poolFixtures.hpp @@ -586,6 +586,15 @@ TEST_P(umfPoolTest, umfPoolAlignedMalloc) { #endif /* !_WIN32 */ } +TEST_P(umfPoolTest, umfPoolGetName) { + umf_memory_pool_handle_t pool_get = pool.get(); + const char *name = nullptr; + umf_result_t ret = umfPoolGetName(pool_get, &name); + ASSERT_EQ(ret, UMF_RESULT_SUCCESS); + ASSERT_NE(name, nullptr); + ASSERT_GT(strlen(name), (size_t)0); +} + TEST_P(umfPoolTest, pool_from_ptr_whole_size_success) { #ifdef _WIN32 // TODO: implement support for windows diff --git a/test/pools/jemalloc_pool.cpp b/test/pools/jemalloc_pool.cpp index a87940928..97a2128f7 100644 --- a/test/pools/jemalloc_pool.cpp +++ b/test/pools/jemalloc_pool.cpp @@ -187,3 +187,29 @@ TEST_F(test, jemallocPoolParamsInvalid) { ret = umfOsMemoryProviderParamsDestroy(provider_params); EXPECT_EQ(ret, UMF_RESULT_SUCCESS); } + +TEST_F(test, jemallocPoolName) { + umf_jemalloc_pool_params_handle_t params = nullptr; + umf_result_t res = umfJemallocPoolParamsCreate(¶ms); + EXPECT_EQ(res, UMF_RESULT_SUCCESS); + umf_memory_provider_handle_t provider_handle = nullptr; + umf_memory_pool_handle_t pool = NULL; + + struct memory_provider : public umf_test::provider_base_t {}; + umf_memory_provider_ops_t provider_ops = + umf_test::providerMakeCOps(); + auto providerUnique = + wrapProviderUnique(createProviderChecked(&provider_ops, nullptr)); + provider_handle = providerUnique.get(); + + res = + umfPoolCreate(umfJemallocPoolOps(), provider_handle, params, 0, &pool); + EXPECT_EQ(res, UMF_RESULT_SUCCESS); + const char *name = nullptr; + res = umfPoolGetName(pool, &name); + EXPECT_EQ(res, UMF_RESULT_SUCCESS); + EXPECT_STREQ(name, "jemalloc"); + + umfPoolDestroy(pool); + umfJemallocPoolParamsDestroy(params); +}