|
12 | 12 |
|
13 | 13 | #include <umf/memory_provider.h> |
14 | 14 | #include <umf/pools/pool_disjoint.h> |
| 15 | +#include <umf/pools/pool_jemalloc.h> |
15 | 16 | #include <umf/pools/pool_proxy.h> |
| 17 | +#include <umf/providers/provider_os_memory.h> |
16 | 18 |
|
17 | 19 | #ifdef UMF_PROXY_LIB_ENABLED |
18 | 20 | #include <umf/proxy_lib_new_delete.h> |
@@ -300,13 +302,31 @@ TEST_F(tagTest, SetAndGetInvalidPool) { |
300 | 302 | ASSERT_EQ(ret, UMF_RESULT_ERROR_INVALID_ARGUMENT); |
301 | 303 | } |
302 | 304 |
|
| 305 | +static void *createOsMemoryProviderParams() { |
| 306 | + umf_os_memory_provider_params_handle_t params = nullptr; |
| 307 | + umf_result_t res = umfOsMemoryProviderParamsCreate(¶ms); |
| 308 | + if (res != UMF_RESULT_SUCCESS) { |
| 309 | + throw std::runtime_error("Failed to create os memory provider params"); |
| 310 | + } |
| 311 | + |
| 312 | + return params; |
| 313 | +} |
| 314 | + |
| 315 | +static umf_result_t destroyOsMemoryProviderParams(void *params) { |
| 316 | + return umfOsMemoryProviderParamsDestroy( |
| 317 | + (umf_os_memory_provider_params_handle_t)params); |
| 318 | +} |
| 319 | + |
303 | 320 | INSTANTIATE_TEST_SUITE_P( |
304 | 321 | mallocPoolTest, umfPoolTest, |
305 | 322 | ::testing::Values( |
306 | 323 | poolCreateExtParams{&MALLOC_POOL_OPS, nullptr, nullptr, |
307 | 324 | &UMF_NULL_PROVIDER_OPS, nullptr, nullptr}, |
308 | 325 | poolCreateExtParams{umfProxyPoolOps(), nullptr, nullptr, |
309 | 326 | &BA_GLOBAL_PROVIDER_OPS, nullptr, nullptr}, |
| 327 | + poolCreateExtParams{ |
| 328 | + umfJemallocPoolOps(), nullptr, nullptr, umfOsMemoryProviderOps(), |
| 329 | + createOsMemoryProviderParams, destroyOsMemoryProviderParams}, |
310 | 330 | poolCreateExtParams{umfDisjointPoolOps(), defaultDisjointPoolConfig, |
311 | 331 | defaultDisjointPoolConfigDestroy, |
312 | 332 | &BA_GLOBAL_PROVIDER_OPS, nullptr, nullptr}), |
|
0 commit comments