| /* |
| * Copyright (c) 2015 Intel Corporation |
| * Copyright (c) 2023 Codecoup |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <zephyr/fff.h> |
| #include <zephyr/kernel.h> |
| #include <zephyr/net/buf.h> |
| |
| DEFINE_FFF_GLOBALS; |
| |
| NET_BUF_SIMPLE_DEFINE_STATIC(buf, 16); |
| static const uint8_t le16[2] = { 0x02, 0x01 }; |
| static const uint8_t be16[2] = { 0x01, 0x02 }; |
| static const uint8_t le24[3] = { 0x03, 0x02, 0x01 }; |
| static const uint8_t be24[3] = { 0x01, 0x02, 0x03 }; |
| static const uint8_t le32[4] = { 0x04, 0x03, 0x02, 0x01 }; |
| static const uint8_t be32[4] = { 0x01, 0x02, 0x03, 0x04 }; |
| static const uint8_t le48[6] = { 0x06, 0x05, 0x04, 0x03, 0x02, 0x01 }; |
| static const uint8_t be48[6] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; |
| static const uint8_t le64[8] = { 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01 }; |
| static const uint8_t be64[8] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 }; |
| static const uint16_t u16 = 0x0102; |
| static const uint32_t u24 = 0x010203; |
| static const uint32_t u32 = 0x01020304; |
| static const uint64_t u48 = 0x010203040506; |
| static const uint64_t u64 = 0x0102030405060708; |
| |
| static void net_buf_simple_test_suite_before(void *f) |
| { |
| net_buf_simple_reset(&buf); |
| } |
| |
| ZTEST_SUITE(net_buf_simple_test_suite, NULL, NULL, |
| net_buf_simple_test_suite_before, NULL, NULL); |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_clone) |
| { |
| struct net_buf_simple clone; |
| |
| net_buf_simple_clone(&buf, &clone); |
| |
| zassert_equal(buf.data, clone.data, "Incorrect clone data pointer"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_le16) |
| { |
| net_buf_simple_add_mem(&buf, &le16, sizeof(le16)); |
| |
| zassert_equal(u16, net_buf_simple_pull_le16(&buf), |
| "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_be16) |
| { |
| net_buf_simple_add_mem(&buf, &be16, sizeof(be16)); |
| |
| zassert_equal(u16, net_buf_simple_pull_be16(&buf), |
| "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_le16) |
| { |
| net_buf_simple_add_le16(&buf, u16); |
| |
| zassert_mem_equal(le16, net_buf_simple_pull_mem(&buf, sizeof(le16)), |
| sizeof(le16), "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_be16) |
| { |
| net_buf_simple_add_be16(&buf, u16); |
| |
| zassert_mem_equal(be16, net_buf_simple_pull_mem(&buf, sizeof(be16)), |
| sizeof(be16), "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_le24) |
| { |
| net_buf_simple_add_mem(&buf, &le24, sizeof(le24)); |
| |
| zassert_equal(u24, net_buf_simple_pull_le24(&buf), |
| "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_be24) |
| { |
| net_buf_simple_add_mem(&buf, &be24, sizeof(be24)); |
| |
| zassert_equal(u24, net_buf_simple_pull_be24(&buf), |
| "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_le24) |
| { |
| net_buf_simple_add_le24(&buf, u24); |
| |
| zassert_mem_equal(le24, net_buf_simple_pull_mem(&buf, sizeof(le24)), |
| sizeof(le24), "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_be24) |
| { |
| net_buf_simple_add_be24(&buf, u24); |
| |
| zassert_mem_equal(be24, net_buf_simple_pull_mem(&buf, sizeof(be24)), |
| sizeof(be24), "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_le32) |
| { |
| net_buf_simple_add_mem(&buf, &le32, sizeof(le32)); |
| |
| zassert_equal(u32, net_buf_simple_pull_le32(&buf), |
| "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_be32) |
| { |
| net_buf_simple_add_mem(&buf, &be32, sizeof(be32)); |
| |
| zassert_equal(u32, net_buf_simple_pull_be32(&buf), |
| "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_le32) |
| { |
| net_buf_simple_add_le32(&buf, u32); |
| |
| zassert_mem_equal(le32, net_buf_simple_pull_mem(&buf, sizeof(le32)), |
| sizeof(le32), "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_be32) |
| { |
| net_buf_simple_add_be32(&buf, u32); |
| |
| zassert_mem_equal(be32, net_buf_simple_pull_mem(&buf, sizeof(be32)), |
| sizeof(be32), "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_le48) |
| { |
| net_buf_simple_add_mem(&buf, &le48, sizeof(le48)); |
| |
| zassert_equal(u48, net_buf_simple_pull_le48(&buf), |
| "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_be48) |
| { |
| net_buf_simple_add_mem(&buf, &be48, sizeof(be48)); |
| |
| zassert_equal(u48, net_buf_simple_pull_be48(&buf), |
| "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_le48) |
| { |
| net_buf_simple_add_le48(&buf, u48); |
| |
| zassert_mem_equal(le48, net_buf_simple_pull_mem(&buf, sizeof(le48)), |
| sizeof(le48), "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_be48) |
| { |
| net_buf_simple_add_be48(&buf, u48); |
| |
| zassert_mem_equal(be48, net_buf_simple_pull_mem(&buf, sizeof(be48)), |
| sizeof(be48), "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_le64) |
| { |
| net_buf_simple_add_mem(&buf, &le64, sizeof(le64)); |
| |
| zassert_equal(u64, net_buf_simple_pull_le64(&buf), |
| "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_pull_be64) |
| { |
| net_buf_simple_add_mem(&buf, &be64, sizeof(be64)); |
| |
| zassert_equal(u64, net_buf_simple_pull_be64(&buf), |
| "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_le64) |
| { |
| net_buf_simple_add_le64(&buf, u64); |
| |
| zassert_mem_equal(le64, net_buf_simple_pull_mem(&buf, sizeof(le64)), |
| sizeof(le64), "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_add_be64) |
| { |
| net_buf_simple_add_be64(&buf, u64); |
| |
| zassert_mem_equal(be64, net_buf_simple_pull_mem(&buf, sizeof(be64)), |
| sizeof(be64), "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_le16) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &le16, sizeof(le16)); |
| |
| zassert_equal(u16, net_buf_simple_remove_le16(&buf), |
| "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_be16) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &be16, sizeof(be16)); |
| |
| zassert_equal(u16, net_buf_simple_remove_be16(&buf), |
| "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_le16) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_le16(&buf, u16); |
| |
| zassert_mem_equal(le16, net_buf_simple_remove_mem(&buf, sizeof(le16)), |
| sizeof(le16), "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_be16) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_be16(&buf, u16); |
| |
| zassert_mem_equal(be16, net_buf_simple_remove_mem(&buf, sizeof(be16)), |
| sizeof(be16), "Invalid 16 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_le24) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &le24, sizeof(le24)); |
| |
| zassert_equal(u24, net_buf_simple_remove_le24(&buf), |
| "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_be24) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &be24, sizeof(be24)); |
| |
| zassert_equal(u24, net_buf_simple_remove_be24(&buf), |
| "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_le24) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_le24(&buf, u24); |
| |
| zassert_mem_equal(le24, net_buf_simple_remove_mem(&buf, sizeof(le24)), |
| sizeof(le24), "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_be24) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_be24(&buf, u24); |
| |
| zassert_mem_equal(be24, net_buf_simple_remove_mem(&buf, sizeof(be24)), |
| sizeof(be24), "Invalid 24 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_le32) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &le32, sizeof(le32)); |
| |
| zassert_equal(u32, net_buf_simple_remove_le32(&buf), |
| "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_be32) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &be32, sizeof(be32)); |
| |
| zassert_equal(u32, net_buf_simple_remove_be32(&buf), |
| "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_le32) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_le32(&buf, u32); |
| |
| zassert_mem_equal(le32, net_buf_simple_remove_mem(&buf, sizeof(le32)), |
| sizeof(le32), "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_be32) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_be32(&buf, u32); |
| |
| zassert_mem_equal(be32, net_buf_simple_remove_mem(&buf, sizeof(be32)), |
| sizeof(be32), "Invalid 32 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_le48) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &le48, sizeof(le48)); |
| |
| zassert_equal(u48, net_buf_simple_remove_le48(&buf), |
| "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_be48) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &be48, sizeof(be48)); |
| |
| zassert_equal(u48, net_buf_simple_remove_be48(&buf), |
| "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_le48) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_le48(&buf, u48); |
| |
| zassert_mem_equal(le48, net_buf_simple_remove_mem(&buf, sizeof(le48)), |
| sizeof(le48), "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_be48) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_be48(&buf, u48); |
| |
| zassert_mem_equal(be48, net_buf_simple_remove_mem(&buf, sizeof(be48)), |
| sizeof(be48), "Invalid 48 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_le64) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &le64, sizeof(le64)); |
| |
| zassert_equal(u64, net_buf_simple_remove_le64(&buf), |
| "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_remove_be64) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_mem(&buf, &be64, sizeof(be64)); |
| |
| zassert_equal(u64, net_buf_simple_remove_be64(&buf), |
| "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_le64) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_le64(&buf, u64); |
| |
| zassert_mem_equal(le64, net_buf_simple_remove_mem(&buf, sizeof(le64)), |
| sizeof(le64), "Invalid 64 bits byte order"); |
| } |
| |
| ZTEST(net_buf_simple_test_suite, test_net_buf_simple_push_be64) |
| { |
| net_buf_simple_reserve(&buf, 16); |
| |
| net_buf_simple_push_be64(&buf, u64); |
| |
| zassert_mem_equal(be64, net_buf_simple_remove_mem(&buf, sizeof(be64)), |
| sizeof(be64), "Invalid 64 bits byte order"); |
| } |