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
ptr = (int *)umfPoolMalloc (pool.get (), SIZE);
224
230
EXPECT_NE (ptr, nullptr );
@@ -228,7 +234,7 @@ TEST_P(umfIpcTest, BasicFlow) {
228
234
memAccessor->fill (ptr, SIZE, &pattern, sizeof (pattern));
229
235
230
236
ret = umfPoolFree (pool.get (), ptr);
231
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
237
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
232
238
233
239
pool.reset (nullptr );
234
240
EXPECT_EQ (stat.getCount , 1 );
@@ -292,7 +298,7 @@ TEST_P(umfIpcTest, GetPoolByOpenedHandle) {
292
298
293
299
for (size_t i = 0 ; i < NUM_ALLOCS; ++i) {
294
300
umf_result_t ret = umfFree (ptrs[i]);
295
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
301
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
296
302
}
297
303
}
298
304
@@ -318,7 +324,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
318
324
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
319
325
320
326
ret = umfPoolFree (pool.get (), ptr);
321
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
327
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
322
328
323
329
ptr = umfPoolMalloc (pool.get (), SIZE);
324
330
ASSERT_NE (ptr, nullptr );
@@ -336,7 +342,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
336
342
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
337
343
338
344
ret = umfPoolFree (pool.get (), ptr);
339
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
345
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
340
346
341
347
ptr = umfPoolMalloc (pool.get (), SIZE);
342
348
EXPECT_NE (ptr, nullptr );
@@ -346,7 +352,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
346
352
memAccessor->fill (ptr, SIZE, &pattern, sizeof (pattern));
347
353
348
354
ret = umfPoolFree (pool.get (), ptr);
349
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
355
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
350
356
351
357
pool.reset (nullptr );
352
358
EXPECT_EQ (stat.getCount , stat.putCount );
@@ -397,7 +403,7 @@ TEST_P(umfIpcTest, openInTwoPools) {
397
403
EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
398
404
399
405
ret = umfPoolFree (pool1.get (), ptr);
400
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
406
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
401
407
402
408
pool1.reset (nullptr );
403
409
pool2.reset (nullptr );
@@ -448,7 +454,7 @@ TEST_P(umfIpcTest, ConcurrentGetPutHandles) {
448
454
449
455
for (void *ptr : ptrs) {
450
456
umf_result_t ret = umfPoolFree (pool.get (), ptr);
451
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
457
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
452
458
}
453
459
454
460
pool.reset (nullptr );
@@ -510,7 +516,7 @@ TEST_P(umfIpcTest, ConcurrentOpenCloseHandles) {
510
516
511
517
for (void *ptr : ptrs) {
512
518
umf_result_t ret = umfPoolFree (pool.get (), ptr);
513
- EXPECT_EQ (ret, UMF_RESULT_SUCCESS);
519
+ EXPECT_EQ (ret, get_umf_result_of_free ( UMF_RESULT_SUCCESS) );
514
520
}
515
521
516
522
pool.reset (nullptr );
0 commit comments