1919#include < numeric>
2020#include < tuple>
2121
22+ #ifdef UMF_TEST_PROVIDER_FREE_NOT_SUPPORTED
23+ #define get_umf_result_of_free (expected_result ) UMF_RESULT_ERROR_NOT_SUPPORTED
24+ #else
25+ #define get_umf_result_of_free (expected_result ) (expected_result)
26+ #endif
27+
2228class MemoryAccessor {
2329 public:
2430 virtual void fill (void *ptr, size_t size, const void *pattern,
@@ -163,7 +169,7 @@ TEST_P(umfIpcTest, GetIPCHandleInvalidArgs) {
163169 EXPECT_EQ (ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
164170
165171 ret = umfFree (ptr);
166- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
172+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
167173}
168174
169175TEST_P (umfIpcTest, BasicFlow) {
@@ -218,7 +224,7 @@ TEST_P(umfIpcTest, BasicFlow) {
218224 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
219225
220226 ret = umfPoolFree (pool.get (), ptr);
221- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
227+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
222228
223229 void *ptr1 = umfPoolMalloc (pool.get (), SIZE);
224230 EXPECT_NE (ptr1, nullptr );
@@ -230,10 +236,10 @@ TEST_P(umfIpcTest, BasicFlow) {
230236 memAccessor->copy (ptr1, ptr2, SIZE);
231237
232238 ret = umfPoolFree (pool.get (), ptr1);
233- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
239+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
234240
235241 ret = umfPoolFree (pool.get (), ptr2);
236- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
242+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
237243
238244 pool.reset (nullptr );
239245 EXPECT_EQ (stat.getCount , 1 );
@@ -297,7 +303,7 @@ TEST_P(umfIpcTest, GetPoolByOpenedHandle) {
297303
298304 for (size_t i = 0 ; i < NUM_ALLOCS; ++i) {
299305 umf_result_t ret = umfFree (ptrs[i]);
300- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
306+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
301307 }
302308}
303309
@@ -323,7 +329,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
323329 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
324330
325331 ret = umfPoolFree (pool.get (), ptr);
326- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
332+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
327333
328334 ptr = umfPoolMalloc (pool.get (), SIZE);
329335 ASSERT_NE (ptr, nullptr );
@@ -341,7 +347,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
341347 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
342348
343349 ret = umfPoolFree (pool.get (), ptr);
344- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
350+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
345351
346352 void *ptr1 = umfPoolMalloc (pool.get (), SIZE);
347353 ASSERT_NE (ptr1, nullptr );
@@ -353,10 +359,10 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
353359 memAccessor->copy (ptr1, ptr2, SIZE);
354360
355361 ret = umfPoolFree (pool.get (), ptr1);
356- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
362+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
357363
358364 ret = umfPoolFree (pool.get (), ptr2);
359- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
365+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
360366
361367 pool.reset (nullptr );
362368 EXPECT_EQ (stat.getCount , stat.putCount );
@@ -407,7 +413,7 @@ TEST_P(umfIpcTest, openInTwoPools) {
407413 EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
408414
409415 ret = umfPoolFree (pool1.get (), ptr);
410- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
416+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
411417
412418 pool1.reset (nullptr );
413419 pool2.reset (nullptr );
@@ -458,7 +464,7 @@ TEST_P(umfIpcTest, ConcurrentGetPutHandles) {
458464
459465 for (void *ptr : ptrs) {
460466 umf_result_t ret = umfPoolFree (pool.get (), ptr);
461- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
467+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
462468 }
463469
464470 pool.reset (nullptr );
@@ -520,7 +526,7 @@ TEST_P(umfIpcTest, ConcurrentOpenCloseHandles) {
520526
521527 for (void *ptr : ptrs) {
522528 umf_result_t ret = umfPoolFree (pool.get (), ptr);
523- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
529+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
524530 }
525531
526532 pool.reset (nullptr );
0 commit comments