Skip to content

Commit c834b71

Browse files
committed
Make sure pointers are correctly aligned in OS memory provider test
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 23a96a5 commit c834b71

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

test/provider_os_memory.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ using umf_test::test;
1212

1313
#define SIZE_4K (4096)
1414

15+
#define ASSERT_IS_ALIGNED(ptr, alignment) \
16+
ASSERT_EQ(((uintptr_t)ptr & (alignment - 1)), 0)
17+
1518
static umf_os_memory_provider_params_t UMF_OS_MEMORY_PROVIDER_PARAMS_TEST = {
1619
/* .protection = */ UMF_PROTECTION_READ | UMF_PROTECTION_WRITE,
1720
/* .visibility = */ UMF_VISIBILITY_PRIVATE,
@@ -138,6 +141,7 @@ TEST_F(test, provider_os_memory_alloc_free_2k_alignment_2k) {
138141
umfMemoryProviderAlloc(os_memory_provider, size, alignment, &ptr);
139142
ASSERT_EQ(umf_result, UMF_RESULT_SUCCESS);
140143
ASSERT_NE(ptr, nullptr);
144+
ASSERT_IS_ALIGNED(ptr, alignment);
141145

142146
memset(ptr, 0xFF, size);
143147

@@ -166,6 +170,7 @@ TEST_F(test, provider_os_memory_alloc_free_4100_alignment_16k) {
166170
umfMemoryProviderAlloc(os_memory_provider, size, alignment, &ptr);
167171
ASSERT_EQ(umf_result, UMF_RESULT_SUCCESS);
168172
ASSERT_NE(ptr, nullptr);
173+
ASSERT_IS_ALIGNED(ptr, alignment);
169174

170175
memset(ptr, 0xFF, size);
171176

@@ -194,6 +199,7 @@ TEST_F(test, provider_os_memory_alloc_free_8k_alignment_8k) {
194199
umfMemoryProviderAlloc(os_memory_provider, size, alignment, &ptr);
195200
ASSERT_EQ(umf_result, UMF_RESULT_SUCCESS);
196201
ASSERT_NE(ptr, nullptr);
202+
ASSERT_IS_ALIGNED(ptr, alignment);
197203

198204
memset(ptr, 0xFF, size);
199205

0 commit comments

Comments
 (0)