1 
2 #include "test.h"
3 #include "utils/fluid_sys.h"
4 
5 
6 // test for fluid_align_ptr()
main(void)7 int main(void)
8 {
9     unsigned int align;
10     uintptr_t ptr, aligned_ptr;
11 
12     for(align = 32; align <= 4 * 1024u; align <<= 1)
13     {
14         for(ptr = 0; ptr <= (align << 10); ptr++)
15         {
16             char *tmp = fluid_align_ptr((char *)ptr, align);
17             aligned_ptr = (uintptr_t)tmp;
18 
19             // pointer must be aligned properly
20             TEST_ASSERT(aligned_ptr % align == 0);
21 
22             // aligned pointer must not be smaller than ptr
23             TEST_ASSERT(aligned_ptr >= ptr);
24 
25             // aligned pointer must not be bigger than alignment
26             TEST_ASSERT(aligned_ptr < ptr + align);
27         }
28     }
29 
30     return EXIT_SUCCESS;
31 }
32