Skip to content

Commit 62444d3

Browse files
committed
Add the two_allocations test
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
1 parent b9fb352 commit 62444d3

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

test/provider_file_memory.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,38 @@ INSTANTIATE_TEST_SUITE_P(fileProviderTest, FileProviderParamsDefault,
183183

184184
TEST_P(FileProviderParamsDefault, create_destroy) {}
185185

186+
TEST_P(FileProviderParamsDefault, two_allocations) {
187+
umf_result_t umf_result;
188+
void *ptr1 = nullptr;
189+
void *ptr2 = nullptr;
190+
size_t size = page_plus_64;
191+
size_t alignment = page_size;
192+
193+
umf_result = umfMemoryProviderAlloc(provider.get(), size, alignment, &ptr1);
194+
ASSERT_EQ(umf_result, UMF_RESULT_SUCCESS);
195+
ASSERT_NE(ptr1, nullptr);
196+
197+
umf_result = umfMemoryProviderAlloc(provider.get(), size, alignment, &ptr2);
198+
ASSERT_EQ(umf_result, UMF_RESULT_SUCCESS);
199+
ASSERT_NE(ptr2, nullptr);
200+
201+
ASSERT_NE(ptr1, ptr2);
202+
if ((uintptr_t)ptr1 > (uintptr_t)ptr2) {
203+
ASSERT_GT((uintptr_t)ptr1 - (uintptr_t)ptr2, size);
204+
} else {
205+
ASSERT_GT((uintptr_t)ptr2 - (uintptr_t)ptr1, size);
206+
}
207+
208+
memset(ptr1, 0x11, size);
209+
memset(ptr2, 0x22, size);
210+
211+
umf_result = umfMemoryProviderFree(provider.get(), ptr1, size);
212+
ASSERT_EQ(umf_result, UMF_RESULT_ERROR_NOT_SUPPORTED);
213+
214+
umf_result = umfMemoryProviderFree(provider.get(), ptr2, size);
215+
ASSERT_EQ(umf_result, UMF_RESULT_ERROR_NOT_SUPPORTED);
216+
}
217+
186218
TEST_P(FileProviderParamsDefault, alloc_page64_align_0) {
187219
test_alloc_free_success(provider.get(), page_plus_64, 0, PURGE_NONE);
188220
}

0 commit comments

Comments
 (0)