From 05c4345ef5c2c39334d187738bce21c95c33aa82 Mon Sep 17 00:00:00 2001 From: Jerin Jacob Date: Thu, 6 Jul 2017 19:50:24 +0530 Subject: [PATCH] test: add unit test for integer log2 function add a unit testcase for rte_log2_u32. Signed-off-by: Jerin Jacob Reviewed-by: Olivier Matz --- test/test/test_common.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/test/test_common.c b/test/test/test_common.c index 6e803f5d35..ae3482da72 100644 --- a/test/test/test_common.c +++ b/test/test/test_common.c @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -159,6 +160,25 @@ test_align(void) return 0; } +static int +test_log2(void) +{ + uint32_t i, base, compare; + const uint32_t max = 0x10000; + const uint32_t step = 1; + + for (i = 0; i < max; i = i + step) { + base = (uint32_t)ceilf(log2((uint32_t)i)); + compare = rte_log2_u32(i); + if (base != compare) { + printf("Wrong rte_log2_u32(%x) val %x, expected %x\n", + i, compare, base); + return TEST_FAILED; + } + } + return 0; +} + static int test_common(void) { @@ -166,6 +186,7 @@ test_common(void) ret |= test_align(); ret |= test_macros(0); ret |= test_misc(); + ret |= test_log2(); return ret; } -- 2.20.1