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,15 +224,15 @@ 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
ptr = (int *)umfPoolMalloc (pool.get (), SIZE * sizeof (int ));
224
230
EXPECT_NE (ptr, nullptr );
225
231
226
232
memset (ptr, 0xAB , SIZE * sizeof (int ));
227
233
228
234
ret = umfPoolFree (pool.get (), ptr);
229
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
235
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
230
236
231
237
pool.reset (nullptr );
232
238
EXPECT_EQ (stat.getCount , 1 );
@@ -290,7 +296,7 @@ TEST_P(umfIpcTest, GetPoolByOpenedHandle) {
290
296
291
297
for (size_t i = 0 ; i < NUM_ALLOCS; ++i) {
292
298
umf_result_t ret = umfFree (ptrs[i]);
293
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
299
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
294
300
}
295
301
}
296
302
@@ -316,7 +322,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
316
322
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
317
323
318
324
ret = umfPoolFree (pool.get (), ptr);
319
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
325
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
320
326
321
327
ptr = umfPoolMalloc (pool.get (), SIZE);
322
328
ASSERT_NE (ptr, nullptr );
@@ -334,13 +340,13 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
334
340
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
335
341
336
342
ret = umfPoolFree (pool.get (), ptr);
337
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
343
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
338
344
339
345
ptr = umfPoolMalloc (pool.get (), SIZE);
340
346
ASSERT_NE (ptr, nullptr );
341
347
342
348
ret = umfPoolFree (pool.get (), ptr);
343
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
349
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
344
350
345
351
pool.reset (nullptr );
346
352
EXPECT_EQ (stat.getCount , stat.putCount );
@@ -391,7 +397,7 @@ TEST_P(umfIpcTest, openInTwoPools) {
391
397
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
392
398
393
399
ret = umfPoolFree (pool1.get (), ptr);
394
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
400
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
395
401
396
402
pool1.reset (nullptr );
397
403
pool2.reset (nullptr );
@@ -442,7 +448,7 @@ TEST_P(umfIpcTest, ConcurrentGetPutHandles) {
442
448
443
449
for (void *ptr : ptrs) {
444
450
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) );
446
452
}
447
453
448
454
pool.reset (nullptr );
@@ -504,7 +510,7 @@ TEST_P(umfIpcTest, ConcurrentOpenCloseHandles) {
504
510
505
511
for (void *ptr : ptrs) {
506
512
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) );
508
514
}
509
515
510
516
pool.reset (nullptr );
0 commit comments