[PATCHv2 08/11] android/tester-ng: Add wrong PIN reply test case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 android/tester-bluetooth.c | 32 ++++++++++++++++++++++++++++++++
 android/tester-main.h      |  8 ++++++++
 2 files changed, 40 insertions(+)

diff --git a/android/tester-bluetooth.c b/android/tester-bluetooth.c
index 3a70f2b..dbcd782 100644
--- a/android/tester-bluetooth.c
+++ b/android/tester-bluetooth.c
@@ -199,11 +199,19 @@ static struct bt_action_data prop_emu_remote_ble_fname_req = {
 static bt_pin_code_t emu_pin_value = {
 	.pin = { 0x30, 0x30, 0x30, 0x30 },
 };
+static bt_pin_code_t emu_pin_invalid_value = {
+	.pin = { 0x30, 0x10, 0x30, 0x30 },
+};
 static struct bt_action_data emu_pin_set_req = {
 	.addr = &emu_remote_bdaddr_val,
 	.pin = &emu_pin_value,
 	.pin_len = 4,
 };
+static struct bt_action_data emu_pin_set_invalid_req = {
+	.addr = &emu_remote_bdaddr_val,
+	.pin = &emu_pin_invalid_value,
+	.pin_len = 4,
+};
 
 static bt_property_t prop_emu_default_set[] = {
 	{ BT_PROPERTY_BDADDR, sizeof(emu_bdaddr_val), NULL },
@@ -960,6 +968,30 @@ static struct test_case test_cases[] = {
 		CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
 						&prop_emu_remote_bdadr, 1),
 	),
+	TEST_CASE_BREDR("Bt. Create Bond PIN - Bad PIN",
+		ACTION_SUCCESS(bluetooth_enable_action, NULL),
+		CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
+		ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
+		ACTION_SUCCESS(emu_set_pin_code_action, &emu_pin_set_req),
+		ACTION_SUCCESS(bt_start_discovery_action, NULL),
+		CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
+							BT_DISCOVERY_STARTED),
+		CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
+		ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
+		CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
+							BT_DISCOVERY_STOPPED),
+		ACTION_SUCCESS(bt_create_bond_action,
+					&prop_test_remote_ble_bdaddr_req),
+		CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
+						&prop_emu_remote_bdadr, 1),
+		CALLBACK_PROPS(CB_BT_PIN_REQUEST, prop_emu_remotes_pin_req_set,
+									2),
+		ACTION_SUCCESS(bt_pin_reply_accept_action,
+						&emu_pin_set_invalid_req),
+		CALLBACK_BOND_STATE_FAILED(BT_BOND_STATE_NONE,
+						&prop_emu_remote_bdadr, 1,
+						BT_STATUS_AUTH_FAILURE),
+	),
 };
 
 struct queue *get_bluetooth_tests(void)
diff --git a/android/tester-main.h b/android/tester-main.h
index a8cf4a2..d49344e 100644
--- a/android/tester-main.h
+++ b/android/tester-main.h
@@ -106,6 +106,14 @@
 		.callback_result.num_properties = prop_cnt, \
 	}
 
+#define CALLBACK_BOND_STATE_FAILED(cb_res, props, prop_cnt, reason) { \
+		.callback = CB_BT_BOND_STATE_CHANGED, \
+		.callback_result.state = cb_res, \
+		.callback_result.status = reason, \
+		.callback_result.properties = props, \
+		.callback_result.num_properties = prop_cnt, \
+	}
+
 /*
  * NOTICE:
  * Callback enum sections should be
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux