Skip to content

Commit e2e326d

Browse files
alwa-nordicjhedberg
authored andcommitted
Bluetooth: Add unit tests for bt_addr_le_eq
Add some basic unit tests for bt_addr_le_eq. Signed-off-by: Aleksander Wasaznik <[email protected]>
1 parent 17fc4b8 commit e2e326d

File tree

4 files changed

+97
-0
lines changed

4 files changed

+97
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
cmake_minimum_required(VERSION 3.20.0)
4+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
5+
project(app)
6+
7+
target_sources(app PRIVATE
8+
src/test_bt_addr_le_eq.c
9+
)

tests/bluetooth/addr/prj.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CONFIG_TEST=y
2+
CONFIG_ZTEST=y
3+
CONFIG_ZTEST_NEW_API=y
4+
5+
CONFIG_BT=y
6+
CONFIG_BT_CTLR=n
7+
CONFIG_BT_NO_DRIVER=y
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/* Copyright (c) 2022 Nordic Semiconductor ASA
2+
* SPDX-License-Identifier: Apache-2.0
3+
*/
4+
5+
#include <zephyr/bluetooth/addr.h>
6+
#include <zephyr/ztest.h>
7+
8+
ZTEST_SUITE(bt_addr_le_eq, NULL, NULL, NULL, NULL, NULL);
9+
10+
ZTEST(bt_addr_le_eq, test_all_zero)
11+
{
12+
bt_addr_le_t a = {.type = 0, .a = {{0, 0, 0, 0, 0, 0}}};
13+
bt_addr_le_t b = a;
14+
15+
zassert_true(bt_addr_le_eq(&a, &b));
16+
}
17+
18+
ZTEST(bt_addr_le_eq, test_type_not_zero)
19+
{
20+
bt_addr_le_t a = {.type = 1, .a = {{1, 2, 3, 4, 5, 6}}};
21+
bt_addr_le_t b = a;
22+
23+
zassert_true(bt_addr_le_eq(&a, &b));
24+
}
25+
26+
ZTEST(bt_addr_le_eq, test_type_matters)
27+
{
28+
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
29+
bt_addr_le_t b = a;
30+
31+
zassume_true(bt_addr_le_eq(&a, &b));
32+
a.type = 1;
33+
zassert_false(bt_addr_le_eq(&a, &b));
34+
}
35+
36+
ZTEST(bt_addr_le_eq, test_address_matters_start)
37+
{
38+
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
39+
bt_addr_le_t b = a;
40+
41+
zassume_true(bt_addr_le_eq(&a, &b));
42+
a.a.val[0] = 0;
43+
zassert_false(bt_addr_le_eq(&a, &b));
44+
}
45+
46+
ZTEST(bt_addr_le_eq, test_address_matters_end)
47+
{
48+
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
49+
bt_addr_le_t b = a;
50+
51+
zassume_true(bt_addr_le_eq(&a, &b));
52+
a.a.val[5] = 0;
53+
zassert_false(bt_addr_le_eq(&a, &b));
54+
}
55+
56+
ZTEST(bt_addr_le_eq, test_only_type_and_address_matters)
57+
{
58+
bt_addr_le_t a;
59+
bt_addr_le_t b;
60+
61+
/* Make anything that is not the type and address unequal bytes. */
62+
memset(&a, 0xaa, sizeof(a));
63+
memset(&b, 0xbb, sizeof(b));
64+
a.type = 1;
65+
b.type = 1;
66+
memset(a.a.val, 1, sizeof(a.a.val));
67+
memset(b.a.val, 1, sizeof(b.a.val));
68+
69+
zassert_true(bt_addr_le_eq(&a, &b));
70+
}
71+
72+
ZTEST(bt_addr_le_eq, test_same_object)
73+
{
74+
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
75+
76+
zassert_true(bt_addr_le_eq(&a, &a));
77+
}

tests/bluetooth/addr/testcase.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tests:
2+
bluetooth.addr:
3+
platform_allow: native_posix native_posix_64 qemu_x86 qemu_cortex_m3
4+
tags: bluetooth addr

0 commit comments

Comments
 (0)