diff options
author | Brian Gix <brian.gix@intel.com> | 2022-09-01 14:07:22 -0700 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2022-09-01 14:34:34 -0700 |
commit | c96629bedbae22ffd059b842a1454254f4cd3607 (patch) | |
tree | 4d69f704b3736b19e3af86a339eacbe94c2e2403 /tools | |
parent | da4b654834b14941c931f44bf1b7af9a7fd5a80a (diff) | |
download | bluez-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.c | 40 |
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 = { |