|
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