Curent implementation in test_memzone.c has bugs in finding the second smallest memory segment. It's the last smallest memory segment, but it's not the second smallest memory segment. This bug may cause test failure in some cases. This patch fixes this bug.
Signed-off-by: Chao Zhu <chaozhu at linux.vnet.ibm.com> --- app/test/test_memzone.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c index 387dbbc..1658006 100644 --- a/app/test/test_memzone.c +++ b/app/test/test_memzone.c @@ -797,10 +797,9 @@ test_memzone_reserve_memory_in_smallest_segment(void) /* set new smallest */ min_ms = ms; - } - else if (prev_min_ms == NULL) { + } else if ((prev_min_ms == NULL) + || (prev_min_ms->len > ms->len)) prev_min_ms = ms; - } } if (min_ms == NULL || prev_min_ms == NULL) { @@ -877,8 +876,8 @@ test_memzone_reserve_memory_with_smallest_offset(void) /* set new smallest */ min_ms = ms; - } - else if (prev_min_ms == NULL) { + } else if ((prev_min_ms == NULL) + || (prev_min_ms->len > ms->len)) { prev_min_ms = ms; } } -- 1.7.1