summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorBrian Gix <brian.gix@intel.com>2022-09-01 14:07:22 -0700
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-09-01 14:34:34 -0700
commitc96629bedbae22ffd059b842a1454254f4cd3607 (patch)
tree4d69f704b3736b19e3af86a339eacbe94c2e2403 /tools
parentda4b654834b14941c931f44bf1b7af9a7fd5a80a (diff)
downloadbluez-c96629bedbae22ffd059b842a1454254f4cd3607.tar.gz
mgmt-tester: Adds turning on Mesh Experimental feature
Turns on experimental Mesh feature, and expects it in report when querying which experimental features are supported and have been enabled.
Diffstat (limited to 'tools')
-rw-r--r--tools/mgmt-tester.c40
1 files changed, 38 insertions, 2 deletions
diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index 02ddfd844..5747ab84b 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -221,6 +221,32 @@ static void read_info_callback(uint8_t status, uint16_t length,
bthost_notify_ready(bthost, tester_pre_setup_complete);
}
+static const uint8_t set_exp_feat_param_mesh[] = {
+ 0x76, 0x6e, 0xf3, 0xe8, 0x24, 0x5f, 0x05, 0xbf, /* UUID - Mesh */
+ 0x8d, 0x4d, 0x03, 0x7a, 0xd7, 0x63, 0xe4, 0x2c,
+ 0x01, /* Action - enable */
+};
+
+static void mesh_exp_callback(uint8_t status, uint16_t length,
+ const void *param, void *user_data)
+{
+ if (status != MGMT_STATUS_SUCCESS) {
+ tester_print("Mesh feature could not be enabled");
+ return;
+ }
+
+ tester_print("Mesh feature is enabled");
+}
+
+static void mesh_exp_feature(struct test_data *data, uint16_t index)
+{
+ tester_print("Enabling Mesh feature");
+
+ mgmt_send(data->mgmt, MGMT_OP_SET_EXP_FEATURE, index,
+ sizeof(set_exp_feat_param_mesh), set_exp_feat_param_mesh,
+ mesh_exp_callback, NULL, NULL);
+}
+
static void index_added_callback(uint16_t index, uint16_t length,
const void *param, void *user_data)
{
@@ -233,6 +259,10 @@ static void index_added_callback(uint16_t index, uint16_t length,
mgmt_send(data->mgmt, MGMT_OP_READ_INFO, data->mgmt_index, 0, NULL,
read_info_callback, NULL, NULL);
+
+ tester_warn("Enable management Mesh interface");
+ mesh_exp_feature(data, data->mgmt_index);
+
}
static void index_removed_callback(uint16_t index, uint16_t length,
@@ -388,6 +418,7 @@ static void read_index_list_callback(uint8_t status, uint16_t length,
if (test && test->setup_le_states)
hciemu_set_central_le_states(data->hciemu, test->le_states);
+
}
static void test_pre_setup(const void *test_data)
@@ -7390,7 +7421,8 @@ static void command_generic_callback(uint8_t status, uint16_t length,
expect_param = test->expect_func(&expect_len);
if (length != expect_len) {
- tester_warn("Invalid cmd response parameter size");
+ tester_warn("Invalid cmd response parameter size %d %d",
+ length, expect_len);
tester_test_failed();
return;
}
@@ -9858,7 +9890,7 @@ static const struct generic_data set_dev_flags_fail_3 = {
};
static const uint8_t read_exp_feat_param_success[] = {
- 0x04, 0x00, /* Feature Count */
+ 0x05, 0x00, /* Feature Count */
0xd6, 0x49, 0xb0, 0xd1, 0x28, 0xeb, /* UUID - Simultaneous */
0x27, 0x92, 0x96, 0x46, 0xc0, 0x42, /* Central Peripheral */
0xb5, 0x10, 0x1b, 0x67,
@@ -9875,6 +9907,10 @@ static const uint8_t read_exp_feat_param_success[] = {
0x85, 0x98, 0x6a, 0x49, 0xe0, 0x05,
0x88, 0xf1, 0xba, 0x6f,
0x00, 0x00, 0x00, 0x00, /* Flags */
+ 0x76, 0x6e, 0xf3, 0xe8, 0x24, 0x5f, /* UUID - Mesh support */
+ 0x05, 0xbf, 0x8d, 0x4d, 0x03, 0x7a,
+ 0xd7, 0x63, 0xe4, 0x2c,
+ 0x01, 0x00, 0x00, 0x00, /* Flags */
};
static const struct generic_data read_exp_feat_success = {