Skip to content

Commit 85bc1d4

Browse files
committed
Add tests for csp_buffer
This commit adds test for csp_buffer allocator. Signed-off-by: Yasushi SHOJI <[email protected]>
1 parent 77160ac commit 85bc1d4

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@ cmake_minimum_required(VERSION 3.13.1)
55
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
66
project(speq)
77

8-
target_sources(app PRIVATE src/main.c)
8+
target_sources(app PRIVATE
9+
src/main.c
10+
src/buffer.c
11+
)

src/buffer.c

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* Copyright (c) 2024 Space Cubics, LLC.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/ztest.h>
8+
#include <csp/csp.h>
9+
10+
static void *setup(void)
11+
{
12+
csp_init();
13+
return NULL;
14+
}
15+
16+
ZTEST(buffer, test_buffer_count)
17+
{
18+
csp_packet_t *packets[CSP_BUFFER_COUNT];
19+
int i;
20+
21+
memset(packets, 0, sizeof(packets));
22+
23+
zassert_true(csp_buffer_remaining() == CSP_BUFFER_COUNT);
24+
25+
for (i = 0; i < CSP_BUFFER_COUNT; i++) {
26+
packets[i] = csp_buffer_get(0);
27+
zassert_true(packets[i] != NULL, NULL);
28+
}
29+
30+
zassert_true(csp_buffer_remaining() == 0);
31+
32+
for (i = 0; i < CSP_BUFFER_COUNT; i++) {
33+
csp_buffer_free(packets[i]);
34+
}
35+
36+
zassert_true(csp_buffer_remaining() == CSP_BUFFER_COUNT);
37+
}
38+
39+
ZTEST(buffer, test_buffer_over_allocate)
40+
{
41+
csp_packet_t *packets[CSP_BUFFER_COUNT];
42+
csp_packet_t *p;
43+
int i;
44+
45+
memset(packets, 0, sizeof(packets));
46+
47+
for (i = 0; i < CSP_BUFFER_COUNT; i++) {
48+
packets[i] = csp_buffer_get(0);
49+
zassert_true(packets[i] != NULL, NULL);
50+
}
51+
52+
zassert_true(csp_buffer_remaining() == 0);
53+
p = csp_buffer_get(0);
54+
zassert_true(p == NULL, NULL);
55+
56+
for (i = 0; i < CSP_BUFFER_COUNT; i++) {
57+
csp_buffer_free(packets[i]);
58+
}
59+
}
60+
61+
ZTEST_SUITE(buffer, NULL, setup, NULL, NULL, NULL);

0 commit comments

Comments
 (0)