From a7a5e6912f9b70fedada37bf514cc82f937f781d Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Tue, 27 Aug 2019 18:34:47 +0300 Subject: [PATCH] tests: kernel: Add unit test for sys_put|get_be16() Make sure sys_put|get_be16() 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 a698e1ca1fd..797d01459f2 100644 --- a/tests/kernel/common/src/byteorder.c +++ b/tests/kernel/common/src/byteorder.c @@ -145,6 +145,45 @@ void test_sys_put_be32(void) zassert_mem_equal(tmp, buf, sizeof(u32_t), "sys_put_be32() failed"); } +/** + * @brief Test sys_get_be16() functionality + * + * @details Test if sys_get_be16() correctly handles endianness. + * + * @see sys_get_be16() + */ +void test_sys_get_be16(void) +{ + u32_t val = 0xf0e1, tmp; + u8_t buf[] = { + 0xf0, 0xe1 + }; + + tmp = sys_get_be16(buf); + + zassert_equal(tmp, val, "sys_get_be16() failed"); +} + +/** + * @brief Test sys_put_be16() functionality + * + * @details Test if sys_put_be16() correctly handles endianness. + * + * @see sys_put_be16() + */ +void test_sys_put_be16(void) +{ + u64_t val = 0xf0e1; + u8_t buf[] = { + 0xf0, 0xe1 + }; + u8_t tmp[sizeof(u16_t)]; + + sys_put_be16(val, tmp); + + zassert_mem_equal(tmp, buf, sizeof(u16_t), "sys_put_be16() failed"); +} + /** * @} */ diff --git a/tests/kernel/common/src/main.c b/tests/kernel/common/src/main.c index 335b62b0a7b..4d02c318380 100644 --- a/tests/kernel/common/src/main.c +++ b/tests/kernel/common/src/main.c @@ -16,6 +16,8 @@ extern void test_sys_get_be64(void); extern void test_sys_put_be64(void); 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_atomic(void); extern void test_intmath(void); extern void test_printk(void); @@ -103,6 +105,8 @@ void test_main(void) ztest_unit_test(test_sys_put_be64), ztest_unit_test(test_sys_get_be32), ztest_unit_test(test_sys_put_be32), + ztest_unit_test(test_sys_get_be16), + ztest_unit_test(test_sys_put_be16), ztest_user_unit_test(test_atomic), ztest_unit_test(test_bitfield), ztest_unit_test(test_printk),