Added test for memory compare.

Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com>
---
 test/validation/std_clib/std_clib.c | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/test/validation/std_clib/std_clib.c 
b/test/validation/std_clib/std_clib.c
index e53ad39..e69bc39 100644
--- a/test/validation/std_clib/std_clib.c
+++ b/test/validation/std_clib/std_clib.c
@@ -44,9 +44,47 @@ static void std_clib_test_memset(void)
        CU_ASSERT(ret == 0);
 }
 
+static void std_clib_test_memcmp(void)
+{
+       uint8_t data[]       = {1,  2,  3,  4,  5,  6,  7,  8,
+                               9, 10, 11, 12, 13, 14, 15, 16};
+       uint8_t equal[]      = {1,  2,  3,  4,  5,  6,  7,  8,
+                               9, 10, 11, 12, 13, 14, 15, 16};
+       uint8_t greater_11[] = {1,  2,  3,  4,  5,  6,  7,  8,
+                               9, 10, 99, 12, 13, 14, 15, 16};
+       uint8_t less_6[]     = {1,  2,  3,  4,  5,  2,  7,  8,
+                               9, 10, 11, 12, 13, 14, 15, 16};
+       size_t i;
+
+       CU_ASSERT(odp_memcmp(data, equal, 0) == 0);
+       CU_ASSERT(odp_memcmp(data, equal, sizeof(data)) == 0);
+       CU_ASSERT(odp_memcmp(data, equal, sizeof(data) - 3) == 0);
+
+       CU_ASSERT(odp_memcmp(greater_11, data, sizeof(data)) > 0);
+       CU_ASSERT(odp_memcmp(greater_11, data, 11) > 0);
+       CU_ASSERT(odp_memcmp(greater_11, data, 10) == 0);
+
+       CU_ASSERT(odp_memcmp(less_6, data, sizeof(data)) < 0);
+       CU_ASSERT(odp_memcmp(less_6, data, 6) < 0);
+       CU_ASSERT(odp_memcmp(less_6, data, 5) == 0);
+
+       for (i = 0; i < sizeof(data); i++) {
+               uint8_t tmp;
+
+               CU_ASSERT(odp_memcmp(data, equal, i + 1) == 0);
+               tmp      = equal[i];
+               equal[i] = 88;
+               CU_ASSERT(odp_memcmp(data, equal, i + 1) < 0);
+               equal[i] = 0;
+               CU_ASSERT(odp_memcmp(data, equal, i + 1) > 0);
+               equal[i] = tmp;
+       }
+}
+
 odp_testinfo_t std_clib_suite[] = {
        ODP_TEST_INFO(std_clib_test_memcpy),
        ODP_TEST_INFO(std_clib_test_memset),
+       ODP_TEST_INFO(std_clib_test_memcmp),
        ODP_TEST_INFO_NULL,
 };
 
-- 
2.6.3

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to