tests: bluetooth: mesh: Removed native_posix and renamed sim_ids
Removed deprecated native_posix as test platform. Added unique sim_ids for tests with the psa as a overlay. Fixed clang-format issues. Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
This commit is contained in:
parent
e0f5f3acf4
commit
d41e834bbe
23 changed files with 467 additions and 525 deletions
|
@ -60,14 +60,9 @@ bst_test_install_t test_installers[] = {
|
|||
test_proxy_sol_install,
|
||||
#endif
|
||||
#elif defined(CONFIG_BT_MESH_GATT_PROXY)
|
||||
test_adv_install,
|
||||
test_suspend_install,
|
||||
test_beacon_install,
|
||||
test_adv_install, test_suspend_install, test_beacon_install,
|
||||
#elif defined(CONFIG_BT_CTLR_LOW_LAT)
|
||||
test_transport_install,
|
||||
test_friendship_install,
|
||||
test_suspend_install,
|
||||
test_adv_install,
|
||||
test_transport_install, test_friendship_install, test_suspend_install, test_adv_install,
|
||||
#else
|
||||
test_transport_install,
|
||||
test_friendship_install,
|
||||
|
@ -85,8 +80,7 @@ bst_test_install_t test_installers[] = {
|
|||
test_cdp1_install,
|
||||
test_brg_install,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
NULL};
|
||||
|
||||
static struct k_thread bsim_mesh_thread;
|
||||
static K_KERNEL_STACK_DEFINE(bsim_mesh_thread_stack, 4096);
|
||||
|
|
|
@ -16,30 +16,29 @@
|
|||
#include <zephyr/logging/log.h>
|
||||
LOG_MODULE_REGISTER(test_brg, LOG_LEVEL_INF);
|
||||
|
||||
#define WAIT_TIME 32 /*seconds*/
|
||||
#define WAIT_TIME 32 /*seconds*/
|
||||
#define WAIT_TIME_IVU_TEST 240 /* seconds */
|
||||
#define BEACON_INTERVAL 10 /*seconds */
|
||||
#define BEACON_INTERVAL 10 /*seconds */
|
||||
|
||||
#define PROV_ADDR 0x0001
|
||||
#define PROV_ADDR 0x0001
|
||||
/* Bridge address must be less than DEVICE_ADDR_START */
|
||||
#define BRIDGE_ADDR 0x0002
|
||||
#define BRIDGE_ADDR 0x0002
|
||||
#define DEVICE_ADDR_START 0x0003
|
||||
|
||||
#define REMOTE_NODES 2
|
||||
|
||||
static const uint8_t prov_dev_key[16] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab,
|
||||
0xcd, 0xef, 0x01, 0x23, 0x45, 0x67,
|
||||
0x89, 0xab, 0xcd, 0xef };
|
||||
static const uint8_t prov_dev_key[16] = {0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
|
||||
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef};
|
||||
|
||||
static const uint8_t subnet_keys[][16] = {
|
||||
{ 0xaa, 0xbb, 0xcc },
|
||||
{ 0xdd, 0xee, 0xff },
|
||||
{ 0x11, 0x22, 0x33 },
|
||||
{0xaa, 0xbb, 0xcc},
|
||||
{0xdd, 0xee, 0xff},
|
||||
{0x11, 0x22, 0x33},
|
||||
};
|
||||
|
||||
static uint8_t prov_uuid[16] = { 0x6c, 0x69, 0x6e, 0x67, 0x61, 0xaa };
|
||||
static uint8_t bridge_uuid[16] = { 0x6c, 0x69, 0x6e, 0x67, 0x61, 0xbb };
|
||||
static uint8_t dev_uuid[16] = { 0x6c, 0x69, 0x6e, 0x67, 0x61, 0xcc };
|
||||
static uint8_t prov_uuid[16] = {0x6c, 0x69, 0x6e, 0x67, 0x61, 0xaa};
|
||||
static uint8_t bridge_uuid[16] = {0x6c, 0x69, 0x6e, 0x67, 0x61, 0xbb};
|
||||
static uint8_t dev_uuid[16] = {0x6c, 0x69, 0x6e, 0x67, 0x61, 0xcc};
|
||||
|
||||
static int test_ividx = 0x123456;
|
||||
|
||||
|
@ -79,7 +78,7 @@ static void test_bridge_init(void)
|
|||
static void test_device_init(void)
|
||||
{
|
||||
ASSERT_TRUE_MSG(get_device_nbr() >= 2, "Regular devices must be initialized after "
|
||||
"tester and Bridge devices.");
|
||||
"tester and Bridge devices.");
|
||||
|
||||
/* Regular devices addresses starts from address 0x0003.*/
|
||||
dev_uuid[6] = get_device_nbr() + 1;
|
||||
|
@ -129,11 +128,9 @@ static void prov_node_added(uint16_t net_idx, uint8_t uuid[16], uint16_t addr, u
|
|||
k_sem_give(&prov_sem);
|
||||
}
|
||||
|
||||
static struct bt_mesh_prov tester_prov = {
|
||||
.uuid = prov_uuid,
|
||||
.unprovisioned_beacon = unprovisioned_beacon,
|
||||
.node_added = prov_node_added
|
||||
};
|
||||
static struct bt_mesh_prov tester_prov = {.uuid = prov_uuid,
|
||||
.unprovisioned_beacon = unprovisioned_beacon,
|
||||
.node_added = prov_node_added};
|
||||
|
||||
static void prov_complete(uint16_t net_idx, uint16_t addr)
|
||||
{
|
||||
|
@ -174,8 +171,8 @@ static void tester_setup(void)
|
|||
for (int i = 0; i < REMOTE_NODES; i++) {
|
||||
LOG_INF("Creating subnet idx %d", i);
|
||||
|
||||
ASSERT_OK(bt_mesh_cfg_cli_net_key_add(0, PROV_ADDR, i + 1, subnet_keys[i],
|
||||
&status));
|
||||
ASSERT_OK(
|
||||
bt_mesh_cfg_cli_net_key_add(0, PROV_ADDR, i + 1, subnet_keys[i], &status));
|
||||
if (status) {
|
||||
FAIL("NetKey add failed (status %u)", status);
|
||||
return;
|
||||
|
@ -216,10 +213,8 @@ static void bridge_entry_add(uint16_t src, uint16_t dst, uint16_t net_idx1, uint
|
|||
entry.addr2 = dst;
|
||||
|
||||
err = bt_mesh_brg_cfg_cli_bridging_table_add(0, BRIDGE_ADDR, &entry, &rsp);
|
||||
if (err || rsp.status ||
|
||||
rsp.entry.directions != dir ||
|
||||
rsp.entry.net_idx1 != net_idx1 || rsp.entry.net_idx2 != net_idx2 ||
|
||||
rsp.entry.addr1 != src || rsp.entry.addr2 != dst) {
|
||||
if (err || rsp.status || rsp.entry.directions != dir || rsp.entry.net_idx1 != net_idx1 ||
|
||||
rsp.entry.net_idx2 != net_idx2 || rsp.entry.addr1 != src || rsp.entry.addr2 != dst) {
|
||||
FAIL("Bridging table add failed (err %d) (status %u)", err, rsp.status);
|
||||
return;
|
||||
}
|
||||
|
@ -229,8 +224,8 @@ static void bridge_entry_remove(uint16_t src, uint16_t dst, uint16_t net_idx1, u
|
|||
{
|
||||
struct bt_mesh_bridging_table_status rsp;
|
||||
|
||||
ASSERT_OK(bt_mesh_brg_cfg_cli_bridging_table_remove(0, BRIDGE_ADDR, net_idx1, net_idx2,
|
||||
src, dst, &rsp));
|
||||
ASSERT_OK(bt_mesh_brg_cfg_cli_bridging_table_remove(0, BRIDGE_ADDR, net_idx1, net_idx2, src,
|
||||
dst, &rsp));
|
||||
if (rsp.status) {
|
||||
FAIL("Bridging table remove failed (status %u)", rsp.status);
|
||||
return;
|
||||
|
@ -344,9 +339,8 @@ static void bridge_table_verify(uint16_t net_idx1, uint16_t net_idx2, uint16_t s
|
|||
|
||||
net_buf_simple_init(rsp.list, 0);
|
||||
|
||||
ASSERT_OK(bt_mesh_brg_cfg_cli_bridging_table_get(0, BRIDGE_ADDR, net_idx1,
|
||||
net_idx2, start_idx,
|
||||
&rsp));
|
||||
ASSERT_OK(bt_mesh_brg_cfg_cli_bridging_table_get(0, BRIDGE_ADDR, net_idx1, net_idx2,
|
||||
start_idx, &rsp));
|
||||
ASSERT_EQUAL(rsp.status, 0);
|
||||
ASSERT_EQUAL(rsp.net_idx1, net_idx1);
|
||||
ASSERT_EQUAL(rsp.net_idx2, net_idx2);
|
||||
|
@ -388,9 +382,7 @@ static void device_ra_cb(uint8_t *data, size_t length)
|
|||
|
||||
case MSG_TYPE_GET: {
|
||||
uint8_t test_data[1 /*type */ + 1 /* msgs cnt */ + sizeof(recvd_msgs)] = {
|
||||
MSG_TYPE_STATUS,
|
||||
recvd_msgs_cnt
|
||||
};
|
||||
MSG_TYPE_STATUS, recvd_msgs_cnt};
|
||||
|
||||
memcpy(&test_data[2], recvd_msgs, recvd_msgs_cnt * sizeof(recvd_msgs[0]));
|
||||
|
||||
|
@ -578,12 +570,18 @@ static void test_tester_table_state_change(void)
|
|||
* the addresses and net keys indexs are provided in the opposite order.
|
||||
*/
|
||||
bridge_entry_add(DEVICE_ADDR_START, PROV_ADDR, 1, 0, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY);
|
||||
bridge_table_verify(0, 1, 0, (struct bridged_addresses_entry[]) {
|
||||
{ PROV_ADDR, DEVICE_ADDR_START, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(1, 0, 0, (struct bridged_addresses_entry[]) {
|
||||
{ DEVICE_ADDR_START, PROV_ADDR, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(
|
||||
0, 1, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{PROV_ADDR, DEVICE_ADDR_START, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY},
|
||||
},
|
||||
1);
|
||||
bridge_table_verify(
|
||||
1, 0, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{DEVICE_ADDR_START, PROV_ADDR, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY},
|
||||
},
|
||||
1);
|
||||
|
||||
k_sleep(K_SECONDS(1));
|
||||
|
||||
|
@ -599,9 +597,12 @@ static void test_tester_table_state_change(void)
|
|||
*/
|
||||
bridge_entry_remove(DEVICE_ADDR_START, PROV_ADDR, 1, 0);
|
||||
bridge_entry_add(PROV_ADDR, DEVICE_ADDR_START, 0, 1, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY);
|
||||
bridge_table_verify(0, 1, 0, (struct bridged_addresses_entry[]) {
|
||||
{ PROV_ADDR, DEVICE_ADDR_START, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(
|
||||
0, 1, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{PROV_ADDR, DEVICE_ADDR_START, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY},
|
||||
},
|
||||
1);
|
||||
bridge_table_verify(1, 0, 0, NULL, 0);
|
||||
|
||||
ASSERT_OK(send_get(DEVICE_ADDR_START));
|
||||
|
@ -666,9 +667,12 @@ static void test_tester_net_key_remove(void)
|
|||
err = k_sem_take(&status_msg_recvd_sem, K_SECONDS(5));
|
||||
ASSERT_EQUAL(err, -EAGAIN);
|
||||
|
||||
bridge_table_verify(0, 2, 0, (struct bridged_addresses_entry[]) {
|
||||
{ PROV_ADDR, DEVICE_ADDR_START + 1, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(
|
||||
0, 2, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{PROV_ADDR, DEVICE_ADDR_START + 1, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY},
|
||||
},
|
||||
1);
|
||||
|
||||
/* Bridging Table Get message will return Invalid NetKey Index error because Subnet 1 is
|
||||
* removed.
|
||||
|
@ -701,21 +705,33 @@ static void test_tester_persistence(void)
|
|||
return;
|
||||
}
|
||||
|
||||
bridge_table_verify(0, 1, 0, (struct bridged_addresses_entry[]) {
|
||||
{ PROV_ADDR, DEVICE_ADDR_START, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(
|
||||
0, 1, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{PROV_ADDR, DEVICE_ADDR_START, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY},
|
||||
},
|
||||
1);
|
||||
|
||||
bridge_table_verify(0, 2, 0, (struct bridged_addresses_entry[]) {
|
||||
{ PROV_ADDR, DEVICE_ADDR_START + 1, BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(0, 2, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{PROV_ADDR, DEVICE_ADDR_START + 1,
|
||||
BT_MESH_SUBNET_BRIDGE_DIR_TWOWAY},
|
||||
},
|
||||
1);
|
||||
|
||||
bridge_table_verify(1, 0, 0, (struct bridged_addresses_entry[]) {
|
||||
{ DEVICE_ADDR_START, PROV_ADDR, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(
|
||||
1, 0, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{DEVICE_ADDR_START, PROV_ADDR, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY},
|
||||
},
|
||||
1);
|
||||
|
||||
bridge_table_verify(2, 0, 0, (struct bridged_addresses_entry[]) {
|
||||
{ DEVICE_ADDR_START + 1, PROV_ADDR, BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY },
|
||||
}, 1);
|
||||
bridge_table_verify(2, 0, 0,
|
||||
(struct bridged_addresses_entry[]){
|
||||
{DEVICE_ADDR_START + 1, PROV_ADDR,
|
||||
BT_MESH_SUBNET_BRIDGE_DIR_ONEWAY},
|
||||
},
|
||||
1);
|
||||
} else {
|
||||
tester_setup();
|
||||
|
||||
|
@ -758,7 +774,7 @@ static void msg_cache_workaround(void)
|
|||
* of the semaphor is not important as we just need to bump sequence number
|
||||
* enough to bypass message cache.
|
||||
*/
|
||||
(void) k_sem_take(&status_msg_recvd_sem, K_SECONDS(1));
|
||||
(void)k_sem_take(&status_msg_recvd_sem, K_SECONDS(1));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -942,21 +958,24 @@ static void test_device_simple_iv_test_mode(void)
|
|||
PASS();
|
||||
}
|
||||
|
||||
#define TEST_CASE(role, name, description) \
|
||||
{ \
|
||||
.test_id = "brg_" #role "_" #name, \
|
||||
.test_post_init_f = test_##role##_init, \
|
||||
.test_descr = description, \
|
||||
.test_tick_f = bt_mesh_test_timeout, \
|
||||
.test_main_f = test_##role##_##name, \
|
||||
#define TEST_CASE(role, name, description) \
|
||||
{ \
|
||||
.test_id = "brg_" #role "_" #name, \
|
||||
.test_post_init_f = test_##role##_init, \
|
||||
.test_descr = description, \
|
||||
.test_tick_f = bt_mesh_test_timeout, \
|
||||
.test_main_f = test_##role##_##name, \
|
||||
}
|
||||
|
||||
static const struct bst_test_instance test_brg[] = {
|
||||
TEST_CASE(tester, simple, "Tester node: provisions network, exchanges messages with "
|
||||
TEST_CASE(tester, simple,
|
||||
"Tester node: provisions network, exchanges messages with "
|
||||
"mesh nodes"),
|
||||
TEST_CASE(tester, table_state_change, "Tester node: tests changing bridging table "
|
||||
TEST_CASE(tester, table_state_change,
|
||||
"Tester node: tests changing bridging table "
|
||||
"state"),
|
||||
TEST_CASE(tester, net_key_remove, "Tester node: tests removing net key from Subnet "
|
||||
TEST_CASE(tester, net_key_remove,
|
||||
"Tester node: tests removing net key from Subnet "
|
||||
"Bridge"),
|
||||
#if CONFIG_BT_SETTINGS
|
||||
TEST_CASE(tester, persistence, "Tester node: test persistence of subnet bridge states"),
|
||||
|
@ -968,8 +987,7 @@ static const struct bst_test_instance test_brg[] = {
|
|||
TEST_CASE(bridge, simple_iv_test_mode, "Subnet Bridge node with IV test mode enabled"),
|
||||
TEST_CASE(device, simple_iv_test_mode, "A mesh node with IV test mode enabled"),
|
||||
|
||||
BSTEST_END_MARKER
|
||||
};
|
||||
BSTEST_END_MARKER};
|
||||
|
||||
struct bst_test_list *test_brg_install(struct bst_test_list *tests)
|
||||
{
|
||||
|
|
|
@ -17,6 +17,6 @@ RunTest mesh_brg_ivu \
|
|||
brg_device_simple_iv_test_mode
|
||||
|
||||
overlay=overlay_psa_conf
|
||||
RunTest mesh_brg_ivu \
|
||||
RunTest mesh_brg_ivu_psa \
|
||||
brg_tester_ivu brg_bridge_simple_iv_test_mode brg_device_simple_iv_test_mode \
|
||||
brg_device_simple_iv_test_mode
|
||||
|
|
|
@ -21,5 +21,5 @@ RunTest mesh_brg_net_key_remove \
|
|||
brg_tester_net_key_remove brg_bridge_simple brg_device_simple brg_device_simple
|
||||
|
||||
overlay=overlay_psa_conf
|
||||
RunTest mesh_brg_net_key_remove \
|
||||
RunTest mesh_brg_net_key_remove_psa \
|
||||
brg_tester_net_key_remove brg_bridge_simple brg_device_simple brg_device_simple
|
||||
|
|
|
@ -22,9 +22,9 @@ RunTestFlash mesh_brg_persistence \
|
|||
|
||||
# The same test but with PSA crypto
|
||||
overlay="overlay_pst_conf_overlay_psa_conf"
|
||||
RunTestFlash mesh_brg_persistence \
|
||||
RunTestFlash mesh_brg_persistence_psa \
|
||||
brg_tester_persistence -flash_erase brg_bridge_simple -flash_erase
|
||||
|
||||
overlay="overlay_pst_conf_overlay_psa_conf"
|
||||
RunTestFlash mesh_brg_persistence \
|
||||
RunTestFlash mesh_brg_persistence_psa \
|
||||
brg_tester_persistence brg_bridge_simple
|
||||
|
|
|
@ -41,5 +41,5 @@ RunTest mesh_brg_simple \
|
|||
brg_tester_simple brg_bridge_simple brg_device_simple brg_device_simple
|
||||
|
||||
overlay=overlay_psa_conf
|
||||
RunTest mesh_brg_simple \
|
||||
RunTest mesh_brg_simple_psa \
|
||||
brg_tester_simple brg_bridge_simple brg_device_simple brg_device_simple
|
||||
|
|
|
@ -28,5 +28,5 @@ RunTest mesh_brg_table_state_change \
|
|||
brg_tester_table_state_change brg_bridge_simple brg_device_simple brg_device_simple
|
||||
|
||||
overlay=overlay_psa_conf
|
||||
RunTest mesh_brg_table_state_change \
|
||||
RunTest mesh_brg_table_state_change_psa \
|
||||
brg_tester_table_state_change brg_bridge_simple brg_device_simple brg_device_simple
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue