Skip to content

Commit c426b22

Browse files
tests: zbus: add channel name test suite
Add tests to verify the zbus_chan_from_name() functionality when CONFIG_ZBUS_CHANNEL_NAME is enabled. Signed-off-by: Trond F. Christiansen <[email protected]>
1 parent 259c569 commit c426b22

File tree

4 files changed

+55
-0
lines changed

4 files changed

+55
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
cmake_minimum_required(VERSION 3.20.0)
2+
3+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
4+
project(test_channel_name)
5+
6+
FILE(GLOB app_sources src/main.c)
7+
target_sources(app PRIVATE ${app_sources})
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
CONFIG_ZTEST=y
2+
CONFIG_ASSERT=n
3+
CONFIG_LOG=y
4+
CONFIG_ZBUS=y
5+
CONFIG_ZBUS_CHANNEL_NAME=y
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Copyright (c) 2024 Embeint Inc
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include <zephyr/zbus/zbus.h>
7+
#include <zephyr/ztest.h>
8+
#include <zephyr/ztest_assert.h>
9+
10+
struct msg {
11+
int x;
12+
};
13+
14+
ZBUS_CHAN_DEFINE(chan_a, struct msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0));
15+
ZBUS_CHAN_DEFINE(chan_b, struct msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0));
16+
ZBUS_CHAN_DEFINE(chan_c, struct msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0));
17+
ZBUS_CHAN_DEFINE(chan_d, struct msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0));
18+
ZBUS_CHAN_DEFINE(chan_e, struct msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0));
19+
ZBUS_CHAN_DEFINE(chan_f, struct msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_MSG_INIT(0));
20+
21+
ZTEST(channel_name, test_channel_retrieval)
22+
{
23+
/* Invalid/unknown channel names */
24+
zassert_is_null(zbus_chan_from_name("unknown"));
25+
zassert_is_null(zbus_chan_from_name(""));
26+
27+
/* Standard retrieval */
28+
zassert_equal(&chan_a, zbus_chan_from_name("chan_a"));
29+
zassert_equal(&chan_b, zbus_chan_from_name("chan_b"));
30+
zassert_equal(&chan_c, zbus_chan_from_name("chan_c"));
31+
32+
/* Ensure no cross-talk between names */
33+
zassert_not_equal(&chan_d, zbus_chan_from_name("chan_e"));
34+
zassert_not_equal(&chan_e, zbus_chan_from_name("chan_f"));
35+
zassert_not_equal(&chan_f, zbus_chan_from_name("chan_d"));
36+
}
37+
38+
ZTEST_SUITE(channel_name, NULL, NULL, NULL, NULL, NULL);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
tests:
2+
message_bus.zbus.channel_name:
3+
tags: zbus
4+
integration_platforms:
5+
- native_sim

0 commit comments

Comments
 (0)