blob: def63b38aaea58e1cca16b689f26384a4aef2ced [file] [log] [blame]
/*
* 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");
}