2020#include < numeric>
2121#include < tuple>
2222
23+ #ifdef UMF_TEST_PROVIDER_FREE_NOT_SUPPORTED
24+ #define get_umf_result_of_free (expected_result ) UMF_RESULT_ERROR_NOT_SUPPORTED
25+ #else
26+ #define get_umf_result_of_free (expected_result ) (expected_result)
27+ #endif
28+
2329class MemoryAccessor {
2430 public:
2531 virtual void fill (void *ptr, size_t size, const void *pattern,
@@ -172,7 +178,7 @@ TEST_P(umfIpcTest, GetIPCHandleInvalidArgs) {
172178 EXPECT_EQ (ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
173179
174180 ret = umfFree (ptr);
175- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
181+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
176182}
177183
178184TEST_P (umfIpcTest, BasicFlow) {
@@ -227,7 +233,7 @@ TEST_P(umfIpcTest, BasicFlow) {
227233 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
228234
229235 ret = umfPoolFree (pool.get (), ptr);
230- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
236+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
231237
232238 pool.reset (nullptr );
233239 EXPECT_EQ (stat.getCount , 1 );
@@ -291,7 +297,7 @@ TEST_P(umfIpcTest, GetPoolByOpenedHandle) {
291297
292298 for (size_t i = 0 ; i < NUM_ALLOCS; ++i) {
293299 umf_result_t ret = umfFree (ptrs[i]);
294- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
300+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
295301 }
296302}
297303
@@ -317,7 +323,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
317323 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
318324
319325 ret = umfPoolFree (pool.get (), ptr);
320- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
326+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
321327
322328 ptr = umfPoolMalloc (pool.get (), SIZE);
323329 ASSERT_NE (ptr, nullptr );
@@ -339,7 +345,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
339345 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
340346
341347 ret = umfPoolFree (pool.get (), ptr);
342- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
348+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
343349
344350 pool.reset (nullptr );
345351 EXPECT_EQ (stat.allocCount , stat.getCount );
@@ -391,7 +397,7 @@ TEST_P(umfIpcTest, openInTwoPools) {
391397 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
392398
393399 ret = umfPoolFree (pool1.get (), ptr);
394- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
400+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
395401
396402 pool1.reset (nullptr );
397403 pool2.reset (nullptr );
@@ -442,7 +448,7 @@ TEST_P(umfIpcTest, ConcurrentGetPutHandles) {
442448
443449 for (void *ptr : ptrs) {
444450 umf_result_t ret = umfPoolFree (pool.get (), ptr);
445- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
451+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
446452 }
447453
448454 pool.reset (nullptr );
@@ -504,7 +510,7 @@ TEST_P(umfIpcTest, ConcurrentOpenCloseHandles) {
504510
505511 for (void *ptr : ptrs) {
506512 umf_result_t ret = umfPoolFree (pool.get (), ptr);
507- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
513+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
508514 }
509515
510516 pool.reset (nullptr );
0 commit comments