From a28de5e990319c958624b7c3f1b484a5aac4ca73 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Mon, 20 Jan 2014 11:27:11 +0200 Subject: [PATCH] tools/mgmt-tester: Add some SSP Pairing Acceptor test cases --- tools/mgmt-tester.c | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c index 2eebe2fd2..b10466570 100644 --- a/tools/mgmt-tester.c +++ b/tools/mgmt-tester.c @@ -2514,6 +2514,34 @@ static const struct generic_data pairing_acceptor_linksec_2 = { .expect_alt_ev_len = 8, }; +static uint16_t settings_powered_connectable_pairable_ssp[] = { + MGMT_OP_SET_PAIRABLE, + MGMT_OP_SET_CONNECTABLE, + MGMT_OP_SET_SSP, + MGMT_OP_SET_POWERED, 0 }; + +static const struct generic_data pairing_acceptor_ssp_1 = { + .setup_settings = settings_powered_connectable_pairable_ssp, + .client_enable_ssp = true, + .expect_alt_ev = MGMT_EV_NEW_LINK_KEY, + .expect_alt_ev_len = 26, + .expect_hci_command = BT_HCI_CMD_USER_CONFIRM_REQUEST_REPLY, + .expect_hci_func = client_bdaddr_param_func, + .io_cap = 0x03, /* NoInputNoOutput */ + .client_io_cap = 0x03, /* NoInputNoOutput */ +}; + +static const struct generic_data pairing_acceptor_ssp_2 = { + .setup_settings = settings_powered_connectable_pairable_ssp, + .client_enable_ssp = true, + .expect_alt_ev = MGMT_EV_NEW_LINK_KEY, + .expect_alt_ev_len = 26, + .expect_hci_command = BT_HCI_CMD_USER_CONFIRM_REQUEST_REPLY, + .expect_hci_func = client_bdaddr_param_func, + .io_cap = 0x01, /* DisplayYesNo */ + .client_io_cap = 0x01, /* DisplayYesNo */ +}; + static const char unpair_device_param[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00 }; static const char unpair_device_rsp[] = { @@ -2668,6 +2696,21 @@ static void setup_bthost(void) bthost_write_scan_enable(bthost, 0x03); } +static void setup_ssp_acceptor(const void *test_data) +{ + struct test_data *data = tester_get_data(); + const struct generic_data *test = data->test_data; + + if (!test->io_cap) + return; + + mgmt_send(data->mgmt, MGMT_OP_SET_IO_CAPABILITY, data->mgmt_index, + sizeof(test->io_cap), &test->io_cap, + NULL, NULL, NULL); + + setup_bthost(); +} + static void setup_powered_callback(uint8_t status, uint16_t length, const void *param, void *user_data) { @@ -3861,6 +3904,12 @@ int main(int argc, char *argv[]) test_bredrle("Pairing Acceptor - Link Sec 2", &pairing_acceptor_linksec_2, NULL, test_pairing_acceptor); + test_bredrle("Pairing Acceptor - SSP 1", + &pairing_acceptor_ssp_1, setup_ssp_acceptor, + test_pairing_acceptor); + test_bredrle("Pairing Acceptor - SSP 2", + &pairing_acceptor_ssp_2, setup_ssp_acceptor, + test_pairing_acceptor); test_bredrle("Unpair Device - Not Powered 1", &unpair_device_not_powered_test_1, -- 2.47.3