Skip to content

Commit

Permalink
Bluetooth: Add unit tests for bt_addr_le_eq
Browse files Browse the repository at this point in the history
Add some basic unit tests for bt_addr_le_eq.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
  • Loading branch information
alwa-nordic authored and jhedberg committed Oct 19, 2022
1 parent 17fc4b8 commit e2e326d
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 0 deletions.
9 changes: 9 additions & 0 deletions tests/bluetooth/addr/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(app)

target_sources(app PRIVATE
src/test_bt_addr_le_eq.c
)
7 changes: 7 additions & 0 deletions tests/bluetooth/addr/prj.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CONFIG_TEST=y
CONFIG_ZTEST=y
CONFIG_ZTEST_NEW_API=y

CONFIG_BT=y
CONFIG_BT_CTLR=n
CONFIG_BT_NO_DRIVER=y
77 changes: 77 additions & 0 deletions tests/bluetooth/addr/src/test_bt_addr_le_eq.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/* Copyright (c) 2022 Nordic Semiconductor ASA
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/bluetooth/addr.h>
#include <zephyr/ztest.h>

ZTEST_SUITE(bt_addr_le_eq, NULL, NULL, NULL, NULL, NULL);

ZTEST(bt_addr_le_eq, test_all_zero)
{
bt_addr_le_t a = {.type = 0, .a = {{0, 0, 0, 0, 0, 0}}};
bt_addr_le_t b = a;

zassert_true(bt_addr_le_eq(&a, &b));
}

ZTEST(bt_addr_le_eq, test_type_not_zero)
{
bt_addr_le_t a = {.type = 1, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;

zassert_true(bt_addr_le_eq(&a, &b));
}

ZTEST(bt_addr_le_eq, test_type_matters)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;

zassume_true(bt_addr_le_eq(&a, &b));
a.type = 1;
zassert_false(bt_addr_le_eq(&a, &b));
}

ZTEST(bt_addr_le_eq, test_address_matters_start)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;

zassume_true(bt_addr_le_eq(&a, &b));
a.a.val[0] = 0;
zassert_false(bt_addr_le_eq(&a, &b));
}

ZTEST(bt_addr_le_eq, test_address_matters_end)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;

zassume_true(bt_addr_le_eq(&a, &b));
a.a.val[5] = 0;
zassert_false(bt_addr_le_eq(&a, &b));
}

ZTEST(bt_addr_le_eq, test_only_type_and_address_matters)
{
bt_addr_le_t a;
bt_addr_le_t b;

/* Make anything that is not the type and address unequal bytes. */
memset(&a, 0xaa, sizeof(a));
memset(&b, 0xbb, sizeof(b));
a.type = 1;
b.type = 1;
memset(a.a.val, 1, sizeof(a.a.val));
memset(b.a.val, 1, sizeof(b.a.val));

zassert_true(bt_addr_le_eq(&a, &b));
}

ZTEST(bt_addr_le_eq, test_same_object)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};

zassert_true(bt_addr_le_eq(&a, &a));
}
4 changes: 4 additions & 0 deletions tests/bluetooth/addr/testcase.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tests:
bluetooth.addr:
platform_allow: native_posix native_posix_64 qemu_x86 qemu_cortex_m3
tags: bluetooth addr

0 comments on commit e2e326d

Please sign in to comment.