diff --git a/test/memoryPoolAPI.cpp b/test/memoryPoolAPI.cpp index 5de9cc7b6..dabd9168d 100644 --- a/test/memoryPoolAPI.cpp +++ b/test/memoryPoolAPI.cpp @@ -14,6 +14,11 @@ #include #include +#ifdef UMF_POOL_JEMALLOC_ENABLED +#include +#include +#endif + #ifdef UMF_PROXY_LIB_ENABLED #include #endif @@ -300,6 +305,31 @@ TEST_F(tagTest, SetAndGetInvalidPool) { ASSERT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT); } +#ifdef UMF_POOL_JEMALLOC_ENABLED +static void *createOsMemoryProviderParams() { + umf_os_memory_provider_params_handle_t params = nullptr; + umf_result_t res = umfOsMemoryProviderParamsCreate(¶ms); + if (res != UMF_RESULT_SUCCESS) { + throw std::runtime_error("Failed to create os memory provider params"); + } + + return params; +} + +static umf_result_t destroyOsMemoryProviderParams(void *params) { + return umfOsMemoryProviderParamsDestroy( + (umf_os_memory_provider_params_handle_t)params); +} + +INSTANTIATE_TEST_SUITE_P( + jemallocPoolTest, umfPoolTest, + ::testing::Values(poolCreateExtParams{ + umfJemallocPoolOps(), nullptr, nullptr, umfOsMemoryProviderOps(), + createOsMemoryProviderParams, destroyOsMemoryProviderParams}), + poolCreateExtParamsNameGen); + +#endif /* UMF_POOL_JEMALLOC_ENABLED */ + INSTANTIATE_TEST_SUITE_P( mallocPoolTest, umfPoolTest, ::testing::Values(