Skip to content

Commit 9482407

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 9520e71 commit 9482407

File tree

4 files changed

+68
-0
lines changed

4 files changed

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