2016-08-26 18:26:10 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2016 Intel Corporation
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <ztest.h>
|
|
|
|
|
|
|
|
#include <net/buf.c>
|
|
|
|
|
2016-11-10 17:45:14 +08:00
|
|
|
void k_fifo_init(struct k_fifo *fifo) {}
|
|
|
|
void k_fifo_put_list(struct k_fifo *fifo, void *head, void *tail) {}
|
2016-08-26 18:26:10 +08:00
|
|
|
|
2016-11-10 17:45:17 +08:00
|
|
|
int k_is_in_isr(void)
|
2016-08-26 18:26:10 +08:00
|
|
|
{
|
2016-11-10 17:45:17 +08:00
|
|
|
return 0;
|
2016-08-26 18:26:10 +08:00
|
|
|
}
|
|
|
|
|
2016-11-10 17:45:14 +08:00
|
|
|
void *k_fifo_get(struct k_fifo *fifo, int32_t timeout)
|
2016-08-26 18:26:10 +08:00
|
|
|
{
|
|
|
|
return ztest_get_return_value_ptr();
|
|
|
|
}
|
|
|
|
|
2016-11-10 17:45:14 +08:00
|
|
|
void k_fifo_put(struct k_fifo *fifo, void *data)
|
2016-08-26 18:26:10 +08:00
|
|
|
{
|
|
|
|
ztest_check_expected_value(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
#define BUF_COUNT 1
|
|
|
|
#define BUF_SIZE 74
|
|
|
|
|
2016-10-19 04:24:51 +08:00
|
|
|
NET_BUF_POOL_DEFINE(bufs_pool, BUF_COUNT, BUF_SIZE, sizeof(int), NULL);
|
2016-08-26 18:26:10 +08:00
|
|
|
|
|
|
|
static void init_pool(void)
|
|
|
|
{
|
2016-10-19 04:24:51 +08:00
|
|
|
ztest_expect_value(k_fifo_put, data, bufs_pool.__bufs);
|
|
|
|
net_buf_pool_init(&bufs_pool);
|
2016-08-26 18:26:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void test_get_single_buffer(void)
|
|
|
|
{
|
|
|
|
struct net_buf *buf;
|
|
|
|
|
|
|
|
init_pool();
|
|
|
|
|
2016-10-19 04:24:51 +08:00
|
|
|
ztest_returns_value(k_fifo_get, bufs_pool.__bufs);
|
|
|
|
buf = net_buf_alloc(&bufs_pool, K_NO_WAIT);
|
2016-08-26 18:26:10 +08:00
|
|
|
|
2016-10-19 04:24:51 +08:00
|
|
|
assert_equal_ptr(buf, bufs_pool.__bufs, "Returned buffer not from pool");
|
2016-08-26 18:26:10 +08:00
|
|
|
assert_equal(buf->ref, 1, "Invalid refcount");
|
|
|
|
assert_equal(buf->len, 0, "Invalid length");
|
|
|
|
assert_equal(buf->flags, 0, "Invalid flags");
|
|
|
|
assert_equal_ptr(buf->frags, NULL, "Frags not NULL");
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_main(void)
|
|
|
|
{
|
|
|
|
ztest_test_suite(net_buf_test,
|
|
|
|
ztest_unit_test(test_get_single_buffer)
|
|
|
|
);
|
|
|
|
|
|
|
|
ztest_run_test_suite(net_buf_test);
|
|
|
|
}
|