19
19
#include < numeric>
20
20
#include < tuple>
21
21
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
+
22
28
class MemoryAccessor {
23
29
public:
24
30
virtual void fill (void *ptr, size_t size, const void *pattern,
@@ -163,7 +169,7 @@ TEST_P(umfIpcTest, GetIPCHandleInvalidArgs) {
163
169
EXPECT_EQ (ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
164
170
165
171
ret = umfFree (ptr);
166
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
172
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
167
173
}
168
174
169
175
TEST_P (umfIpcTest, BasicFlow) {
@@ -218,7 +224,7 @@ TEST_P(umfIpcTest, BasicFlow) {
218
224
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
219
225
220
226
ret = umfPoolFree (pool.get (), ptr);
221
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
227
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
222
228
223
229
pool.reset (nullptr );
224
230
EXPECT_EQ (stat.getCount , 1 );
@@ -282,7 +288,7 @@ TEST_P(umfIpcTest, GetPoolByOpenedHandle) {
282
288
283
289
for (size_t i = 0 ; i < NUM_ALLOCS; ++i) {
284
290
umf_result_t ret = umfFree (ptrs[i]);
285
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
291
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
286
292
}
287
293
}
288
294
@@ -308,7 +314,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
308
314
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
309
315
310
316
ret = umfPoolFree (pool.get (), ptr);
311
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
317
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
312
318
313
319
ptr = umfPoolMalloc (pool.get (), SIZE);
314
320
ASSERT_NE (ptr, nullptr );
@@ -330,7 +336,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
330
336
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
331
337
332
338
ret = umfPoolFree (pool.get (), ptr);
333
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
339
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
334
340
335
341
pool.reset (nullptr );
336
342
EXPECT_EQ (stat.allocCount , stat.getCount );
@@ -382,7 +388,7 @@ TEST_P(umfIpcTest, openInTwoPools) {
382
388
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
383
389
384
390
ret = umfPoolFree (pool1.get (), ptr);
385
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
391
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
386
392
387
393
pool1.reset (nullptr );
388
394
pool2.reset (nullptr );
@@ -433,7 +439,7 @@ TEST_P(umfIpcTest, ConcurrentGetPutHandles) {
433
439
434
440
for (void *ptr : ptrs) {
435
441
umf_result_t ret = umfPoolFree (pool.get (), ptr);
436
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
442
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
437
443
}
438
444
439
445
pool.reset (nullptr );
@@ -495,7 +501,7 @@ TEST_P(umfIpcTest, ConcurrentOpenCloseHandles) {
495
501
496
502
for (void *ptr : ptrs) {
497
503
umf_result_t ret = umfPoolFree (pool.get (), ptr);
498
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
504
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
499
505
}
500
506
501
507
pool.reset (nullptr );
0 commit comments