1 2 #include "test.h" 3 #include "utils/fluid_sys.h" 4 5 6 // test for fluid_align_ptr() main(void)7int 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