From 6b1e44a3edbfac0521d1e5465601afd50995c9fa Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Tue, 27 Aug 2019 18:44:30 +0300 Subject: [PATCH] tests: kernel: Add unit test for sys_put|get_le16() Make sure sys_put|get_le16() works as expected. Signed-off-by: Jukka Rissanen --- tests/kernel/common/src/byteorder.c | 39 +++++++++++++++++++++++++++++ tests/kernel/common/src/main.c | 4 +++ 2 files changed, 43 insertions(+) diff --git a/tests/kernel/common/src/byteorder.c b/tests/kernel/common/src/byteorder.c index 797d01459f2..e1cec201aac 100644 --- a/tests/kernel/common/src/byteorder.c +++ b/tests/kernel/common/src/byteorder.c @@ -184,6 +184,45 @@ void test_sys_put_be16(void) zassert_mem_equal(tmp, buf, sizeof(u16_t), "sys_put_be16() failed"); } +/** + * @brief Test sys_get_le16() functionality + * + * @details Test if sys_get_le16() correctly handles endianness. + * + * @see sys_get_le16() + */ +void test_sys_get_le16(void) +{ + u32_t val = 0xf0e1, tmp; + u8_t buf[] = { + 0xe1, 0xf0 + }; + + tmp = sys_get_le16(buf); + + zassert_equal(tmp, val, "sys_get_le16() failed"); +} + +/** + * @brief Test sys_put_le16() functionality + * + * @details Test if sys_put_le16() correctly handles endianness. + * + * @see sys_put_le16() + */ +void test_sys_put_le16(void) +{ + u64_t val = 0xf0e1; + u8_t buf[] = { + 0xe1, 0xf0 + }; + u8_t tmp[sizeof(u16_t)]; + + sys_put_le16(val, tmp); + + zassert_mem_equal(tmp, buf, sizeof(u16_t), "sys_put_le16() failed"); +} + /** * @} */ diff --git a/tests/kernel/common/src/main.c b/tests/kernel/common/src/main.c index 4d02c318380..a1eec9744bc 100644 --- a/tests/kernel/common/src/main.c +++ b/tests/kernel/common/src/main.c @@ -18,6 +18,8 @@ extern void test_sys_get_be32(void); extern void test_sys_put_be32(void); extern void test_sys_get_be16(void); extern void test_sys_put_be16(void); +extern void test_sys_get_le16(void); +extern void test_sys_put_le16(void); extern void test_atomic(void); extern void test_intmath(void); extern void test_printk(void); @@ -107,6 +109,8 @@ void test_main(void) ztest_unit_test(test_sys_put_be32), ztest_unit_test(test_sys_get_be16), ztest_unit_test(test_sys_put_be16), + ztest_unit_test(test_sys_get_le16), + ztest_unit_test(test_sys_put_le16), ztest_user_unit_test(test_atomic), ztest_unit_test(test_bitfield), ztest_unit_test(test_printk),