Upgrade bluez5_37 :Merge the code from private
[platform/upstream/bluez.git] / android / tester-bluetooth.c
1 /*
2  * Copyright (C) 2014 Intel Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 #include <stdbool.h>
18
19 #include "emulator/bthost.h"
20 #include "src/shared/tester.h"
21 #include "src/shared/queue.h"
22 #include "tester-main.h"
23
24 static struct queue *list; /* List of bluetooth test cases */
25
26 static bt_bdaddr_t emu_bdaddr_val = {
27         .address = { 0x00, 0xaa, 0x01, 0x00, 0x00, 0x00 },
28 };
29 static bt_property_t prop_emu_bdaddr = {
30         .type = BT_PROPERTY_BDADDR,
31         .val = &emu_bdaddr_val,
32         .len = sizeof(emu_bdaddr_val),
33 };
34
35 static char emu_bdname_val[] = "BlueZ for Android";
36 static bt_property_t prop_emu_bdname = {
37         .type = BT_PROPERTY_BDNAME,
38         .val = &emu_bdname_val,
39         .len = sizeof(emu_bdname_val) - 1,
40 };
41
42 static char emu_uuids_val[] = {
43         /* Multi profile UUID */
44         0x00, 0x00, 0x11, 0x3b, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00,
45                                         0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB,
46         /* Device identification profile UUID */
47         0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00,
48                                         0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB,
49 };
50 static bt_property_t prop_emu_uuids = {
51         .type = BT_PROPERTY_UUIDS,
52         .val = &emu_uuids_val,
53         .len = sizeof(emu_uuids_val),
54 };
55
56 static uint32_t emu_cod_val = 0x00020c;
57 static bt_property_t prop_emu_cod = {
58         .type = BT_PROPERTY_CLASS_OF_DEVICE,
59         .val = &emu_cod_val,
60         .len = sizeof(emu_cod_val),
61 };
62
63 static bt_device_type_t emu_tod_dual_val = BT_DEVICE_DEVTYPE_DUAL;
64 static bt_property_t prop_emu_dual_tod = {
65         .type = BT_PROPERTY_TYPE_OF_DEVICE,
66         .val = &emu_tod_dual_val,
67         .len = sizeof(emu_tod_dual_val),
68 };
69
70 static bt_scan_mode_t emu_scan_mode_val = BT_SCAN_MODE_NONE;
71 static bt_property_t prop_emu_scan_mode = {
72         .type = BT_PROPERTY_ADAPTER_SCAN_MODE,
73         .val = &emu_scan_mode_val,
74         .len = sizeof(emu_scan_mode_val),
75 };
76
77 static uint32_t emu_disc_timeout_val = 120;
78 static bt_property_t prop_emu_disc_timeout = {
79         .type = BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT,
80         .val = &emu_disc_timeout_val,
81         .len = sizeof(emu_disc_timeout_val),
82 };
83
84 static bt_property_t prop_emu_bonded_devs = {
85         .type = BT_PROPERTY_ADAPTER_BONDED_DEVICES,
86         .val = NULL,
87         .len = 0,
88 };
89
90 static bt_bdaddr_t emu_remote_bdaddr_val = {
91         .address = { 0x00, 0xaa, 0x01, 0x01, 0x00, 0x00 },
92 };
93 static bt_property_t prop_emu_remote_bdadr = {
94         .type = BT_PROPERTY_BDADDR,
95         .val = &emu_remote_bdaddr_val,
96         .len = sizeof(emu_remote_bdaddr_val),
97 };
98 static struct bt_action_data prop_emu_remote_ble_bdaddr_req = {
99         .addr = &emu_remote_bdaddr_val,
100         .prop_type = BT_PROPERTY_BDADDR,
101 };
102
103 static uint32_t emu_remote_type_val = BT_DEVICE_DEVTYPE_BREDR;
104
105 static uint32_t emu_remote_tod_ble_val = BT_DEVICE_DEVTYPE_BLE;
106 static bt_property_t prop_emu_remote_ble_tod_prop = {
107         .type = BT_PROPERTY_TYPE_OF_DEVICE,
108         .val = &emu_remote_tod_ble_val,
109         .len = sizeof(emu_remote_tod_ble_val),
110 };
111 static struct bt_action_data prop_emu_remote_ble_tod_req = {
112         .addr = &emu_remote_bdaddr_val,
113         .prop_type = BT_PROPERTY_TYPE_OF_DEVICE,
114 };
115
116 static int32_t emu_remote_rssi_val = -60;
117
118 static int32_t emu_remote_ble_rssi_val = 127;
119 static bt_property_t prop_emu_remote_ble_rssi_prop = {
120         .type = BT_PROPERTY_REMOTE_RSSI,
121         .val = &emu_remote_ble_rssi_val,
122         .len = sizeof(emu_remote_ble_rssi_val),
123 };
124 static struct bt_action_data prop_emu_remote_ble_rssi_req = {
125         .addr = &emu_remote_bdaddr_val,
126         .prop_type = BT_PROPERTY_REMOTE_RSSI,
127 };
128
129 static char emu_remote_bdname_val[] = "00:AA:01:01:00:00";
130 static bt_property_t prop_emu_remote_ble_bdname_prop = {
131         .type = BT_PROPERTY_BDNAME,
132         .val = &emu_remote_bdname_val,
133         .len = sizeof(emu_remote_bdname_val) - 1,
134 };
135 static struct bt_action_data prop_emu_remote_ble_bdname_req = {
136         .addr = &emu_remote_bdaddr_val,
137         .prop_type = BT_PROPERTY_BDNAME,
138 };
139
140 static uint32_t emu_remote_cod_val = 0;
141 static bt_property_t prop_emu_remote_ble_cod_prop = {
142         .type = BT_PROPERTY_CLASS_OF_DEVICE,
143         .val = &emu_remote_cod_val,
144         .len = sizeof(emu_remote_cod_val),
145 };
146 static struct bt_action_data prop_emu_remote_ble_cod_req = {
147         .addr = &emu_remote_bdaddr_val,
148         .prop_type = BT_PROPERTY_CLASS_OF_DEVICE,
149 };
150
151 static bt_property_t prop_emu_remote_ble_uuids_prop = {
152         .type = BT_PROPERTY_UUIDS,
153         .val = NULL,
154         .len = 0,
155 };
156 static struct bt_action_data prop_emu_remote_ble_uuids_req = {
157         .addr = &emu_remote_bdaddr_val,
158         .prop_type = BT_PROPERTY_UUIDS,
159 };
160
161 static bt_property_t prop_emu_remote_ble_timestamp_prop = {
162         .type = BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP,
163         .val = NULL,
164         .len = 4,
165 };
166 static struct bt_action_data prop_emu_remote_ble_timestamp_req = {
167         .addr = &emu_remote_bdaddr_val,
168         .prop_type = BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP,
169 };
170
171 static struct bt_action_data prop_emu_remote_ble_scan_mode_req = {
172         .addr = &emu_remote_bdaddr_val,
173         .prop_type = BT_PROPERTY_ADAPTER_SCAN_MODE,
174 };
175
176 static struct bt_action_data prop_emu_remote_ble_bondeddev_req = {
177         .addr = &emu_remote_bdaddr_val,
178         .prop_type = BT_PROPERTY_ADAPTER_BONDED_DEVICES,
179 };
180
181 static struct bt_action_data prop_emu_remote_ble_disctimeout_req = {
182         .addr = &emu_remote_bdaddr_val,
183         .prop_type = BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT,
184 };
185
186 static struct bt_action_data prop_emu_remote_ble_verinfo_req = {
187         .addr = &emu_remote_bdaddr_val,
188         .prop_type = BT_PROPERTY_REMOTE_VERSION_INFO,
189 };
190
191 static char prop_test_fname_val[] = "FriendlyTestName";
192 static bt_property_t prop_emu_remote_ble_fname_prop = {
193         .type = BT_PROPERTY_REMOTE_FRIENDLY_NAME,
194         .val = &prop_test_fname_val,
195         .len = sizeof(prop_test_fname_val) - 1,
196 };
197 static struct bt_action_data prop_emu_remote_ble_fname_req = {
198         .addr = &emu_remote_bdaddr_val,
199         .prop_type = BT_PROPERTY_REMOTE_FRIENDLY_NAME,
200         .prop = &prop_emu_remote_ble_fname_prop,
201 };
202
203 static bt_pin_code_t emu_pin_value = {
204         .pin = { 0x30, 0x30, 0x30, 0x30 },
205 };
206 static bt_pin_code_t emu_pin_invalid_value = {
207         .pin = { 0x30, 0x10, 0x30, 0x30 },
208 };
209 static struct bt_action_data emu_pin_set_req = {
210         .addr = &emu_remote_bdaddr_val,
211         .pin = &emu_pin_value,
212         .pin_len = 4,
213 };
214 static struct bt_action_data emu_pin_set_invalid_req = {
215         .addr = &emu_remote_bdaddr_val,
216         .pin = &emu_pin_invalid_value,
217         .pin_len = 4,
218 };
219
220 static bt_property_t prop_emu_default_set[] = {
221         { BT_PROPERTY_BDADDR, sizeof(emu_bdaddr_val), NULL },
222         { BT_PROPERTY_BDNAME, sizeof(emu_bdname_val) - 1, &emu_bdname_val },
223         { BT_PROPERTY_CLASS_OF_DEVICE, sizeof(uint32_t), NULL },
224         { BT_PROPERTY_TYPE_OF_DEVICE, sizeof(emu_tod_dual_val),
225                                                         &emu_tod_dual_val },
226         { BT_PROPERTY_ADAPTER_SCAN_MODE, sizeof(emu_scan_mode_val),
227                                                         &emu_scan_mode_val },
228         { BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT, sizeof(emu_disc_timeout_val),
229                                                         &emu_disc_timeout_val},
230         { BT_PROPERTY_ADAPTER_BONDED_DEVICES, 0, NULL },
231         { BT_PROPERTY_UUIDS, sizeof(emu_uuids_val), &emu_uuids_val },
232 };
233
234 static bt_property_t prop_emu_remote_bles_default_set[] = {
235         { BT_PROPERTY_BDADDR, sizeof(emu_remote_bdaddr_val),
236                                                 &emu_remote_bdaddr_val },
237         { BT_PROPERTY_TYPE_OF_DEVICE, sizeof(emu_remote_tod_ble_val),
238                                                 &emu_remote_tod_ble_val },
239         { BT_PROPERTY_REMOTE_RSSI, sizeof(emu_remote_ble_rssi_val),
240                                                 &emu_remote_ble_rssi_val },
241 };
242
243 static bt_property_t prop_emu_remotes_default_set[] = {
244         { BT_PROPERTY_BDADDR, sizeof(emu_remote_bdaddr_val),
245                                                 &emu_remote_bdaddr_val },
246         { BT_PROPERTY_TYPE_OF_DEVICE, sizeof(emu_remote_type_val),
247                                                 &emu_remote_type_val },
248         { BT_PROPERTY_REMOTE_RSSI, sizeof(emu_remote_rssi_val),
249                                                 &emu_remote_rssi_val },
250 };
251
252 static bt_property_t prop_emu_remote_bles_query_set[] = {
253         { BT_PROPERTY_TYPE_OF_DEVICE, sizeof(emu_remote_tod_ble_val),
254                                                 &emu_remote_tod_ble_val },
255         { BT_PROPERTY_CLASS_OF_DEVICE, sizeof(emu_remote_cod_val),
256                                                         &emu_remote_cod_val },
257         { BT_PROPERTY_REMOTE_RSSI, sizeof(emu_remote_ble_rssi_val),
258                                                 &emu_remote_ble_rssi_val },
259         { BT_PROPERTY_BDNAME, sizeof(emu_remote_bdname_val) - 1,
260                                                 &emu_remote_bdname_val },
261         { BT_PROPERTY_UUIDS, 0, NULL },
262         { BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP, 4, NULL },
263 };
264
265 static bt_property_t prop_emu_remotes_pin_req_set[] = {
266         { BT_PROPERTY_BDADDR, sizeof(emu_remote_bdaddr_val),
267                                                 &emu_remote_bdaddr_val },
268         { BT_PROPERTY_CLASS_OF_DEVICE, sizeof(emu_remote_cod_val),
269                                                 &emu_remote_cod_val },
270         { BT_PROPERTY_BDNAME, sizeof(emu_remote_bdname_val) - 1,
271                                                 &emu_remote_bdname_val },
272 };
273
274 static char test_bdname[] = "test_bdname";
275 static bt_property_t prop_test_bdname = {
276         .type = BT_PROPERTY_BDNAME,
277         .val = test_bdname,
278         .len = sizeof(test_bdname) - 1,
279 };
280 static struct bt_action_data prop_test_remote_ble_bdname_req = {
281         .addr = &emu_remote_bdaddr_val,
282         .prop_type = BT_PROPERTY_BDNAME,
283         .prop = &prop_test_bdname,
284 };
285
286 static bt_scan_mode_t test_scan_mode_connectable_discoverable =
287                                         BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE;
288 static bt_property_t prop_test_scanmode_conn_discov = {
289         .type = BT_PROPERTY_ADAPTER_SCAN_MODE,
290         .val = &test_scan_mode_connectable_discoverable,
291         .len = sizeof(bt_scan_mode_t),
292 };
293
294 static uint32_t test_disctimeout_val = 600;
295 static bt_property_t prop_test_disctimeout = {
296         .type = BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT,
297         .val = &test_disctimeout_val,
298         .len = sizeof(test_disctimeout_val),
299 };
300 static struct bt_action_data prop_test_remote_ble_disc_timeout_req = {
301         .addr = &emu_remote_bdaddr_val,
302         .prop_type = BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT,
303         .prop = &prop_test_disctimeout,
304 };
305
306 static unsigned char test_uuids_val[] = { 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00,
307                         0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
308                         0x00, 0x00 };
309 static bt_property_t prop_test_uuid = {
310         .type = BT_PROPERTY_UUIDS,
311         .val = &test_uuids_val,
312         .len = sizeof(test_uuids_val),
313 };
314 static struct bt_action_data prop_test_remote_ble_uuids_req = {
315         .addr = &emu_remote_bdaddr_val,
316         .prop_type = BT_PROPERTY_UUIDS,
317         .prop = &prop_test_uuid,
318 };
319
320 static uint32_t test_cod_val = 0;
321 static bt_property_t prop_test_cod = {
322         .type = BT_PROPERTY_CLASS_OF_DEVICE,
323         .val = &test_cod_val,
324         .len = sizeof(test_cod_val),
325 };
326 static struct bt_action_data prop_test_remote_ble_cod_req = {
327         .addr = &emu_remote_bdaddr_val,
328         .prop_type = BT_PROPERTY_CLASS_OF_DEVICE,
329         .prop = &prop_test_cod,
330 };
331
332 static uint32_t test_tod_val = BT_DEVICE_DEVTYPE_BLE;
333 static bt_property_t prop_test_tod = {
334         .type = BT_PROPERTY_TYPE_OF_DEVICE,
335         .val = &test_tod_val,
336         .len = sizeof(test_tod_val),
337 };
338 static struct bt_action_data prop_test_remote_ble_tod_req = {
339         .addr = &emu_remote_bdaddr_val,
340         .prop_type = BT_PROPERTY_TYPE_OF_DEVICE,
341         .prop = &prop_test_tod,
342 };
343
344 static int32_t test_remote_rssi_val = -9;
345 static bt_property_t prop_test_remote_rssi = {
346         .type = BT_PROPERTY_REMOTE_RSSI,
347         .val = &test_remote_rssi_val,
348         .len = sizeof(test_remote_rssi_val),
349 };
350 static struct bt_action_data prop_test_remote_ble_rssi_req = {
351         .addr = &emu_remote_bdaddr_val,
352         .prop_type = BT_PROPERTY_REMOTE_RSSI,
353         .prop = &prop_test_remote_rssi,
354 };
355
356 static bt_service_record_t test_srvc_record_val =  {
357         .uuid = { {0x00} },
358         .channel = 12,
359         .name = "bt_name",
360 };
361 static bt_property_t prop_test_srvc_record = {
362         .type = BT_PROPERTY_SERVICE_RECORD,
363         .val = &test_srvc_record_val,
364         .len = sizeof(test_srvc_record_val),
365 };
366 static struct bt_action_data prop_test_remote_ble_srvc_record_req = {
367         .addr = &emu_remote_bdaddr_val,
368         .prop_type = BT_PROPERTY_SERVICE_RECORD,
369         .prop = &prop_test_srvc_record,
370 };
371
372 static bt_bdaddr_t test_bdaddr_val = {
373         .address = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
374 };
375 static bt_property_t prop_test_bdaddr = {
376         .type = BT_PROPERTY_BDADDR,
377         .val = &test_bdaddr_val,
378         .len = sizeof(test_bdaddr_val),
379 };
380 static struct bt_action_data prop_test_remote_ble_bdaddr_req = {
381         .addr = &emu_remote_bdaddr_val,
382         .prop_type = BT_PROPERTY_BDADDR,
383         .prop = &prop_test_bdaddr,
384 };
385 static struct bt_action_data prop_test_bdaddr_req = {
386         .addr = &test_bdaddr_val,
387         .prop_type = BT_PROPERTY_BDADDR,
388         .prop = &prop_test_bdaddr,
389 };
390
391 static bt_scan_mode_t setprop_scan_mode_conn_val = BT_SCAN_MODE_CONNECTABLE;
392
393 static bt_property_t prop_test_scan_mode_conn = {
394         .type = BT_PROPERTY_ADAPTER_SCAN_MODE,
395         .val = &setprop_scan_mode_conn_val,
396         .len = sizeof(setprop_scan_mode_conn_val),
397 };
398
399 static bt_scan_mode_t test_scan_mode_none_val = BT_SCAN_MODE_NONE;
400 static bt_property_t prop_test_scan_mode_none = {
401         .type = BT_PROPERTY_ADAPTER_SCAN_MODE,
402         .val = &test_scan_mode_none_val,
403         .len = sizeof(test_scan_mode_none_val),
404 };
405 static struct bt_action_data prop_test_remote_ble_scanmode_req = {
406         .addr = &emu_remote_bdaddr_val,
407         .prop_type = BT_PROPERTY_ADAPTER_SCAN_MODE,
408         .prop = &prop_test_scan_mode_none,
409 };
410
411 static bt_bdaddr_t test_bonded_dev_addr_val = {
412         .address = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05 },
413 };
414 static bt_property_t prop_test_bonded_dev_addr = {
415         .type = BT_PROPERTY_ADAPTER_BONDED_DEVICES,
416         .val = &test_bonded_dev_addr_val,
417         .len = sizeof(test_bonded_dev_addr_val),
418 };
419 static struct bt_action_data prop_test_ble_bonded_dev_req = {
420         .addr = &emu_remote_bdaddr_val,
421         .prop_type = BT_PROPERTY_ADAPTER_BONDED_DEVICES,
422         .prop = &prop_test_bonded_dev_addr,
423 };
424
425 static uint32_t test_remote_timestamp_val = 42;
426 static bt_property_t prop_test_remote_ble_timestamp_prop = {
427         .type = BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP,
428         .val = &test_remote_timestamp_val,
429         .len = sizeof(test_remote_timestamp_val),
430 };
431 static struct bt_action_data prop_test_remote_ble_timestamp_req = {
432         .addr = &emu_remote_bdaddr_val,
433         .prop_type = BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP,
434         .prop = &prop_test_remote_ble_timestamp_prop,
435 };
436
437 static struct bt_action_data ssp_confirm_accept_reply = {
438         .addr = &emu_remote_bdaddr_val,
439         .ssp_variant = BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
440         .accept = TRUE,
441 };
442
443 static struct bt_action_data ssp_confirm_reject_reply = {
444         .addr = &emu_remote_bdaddr_val,
445         .ssp_variant = BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
446         .accept = FALSE,
447 };
448
449 static  struct bt_action_data no_input_no_output_io_cap = {
450         .io_cap = 0x03,
451 };
452
453 static  struct bt_action_data display_yes_no_io_cap = {
454         .io_cap = 0x01,
455 };
456
457 static uint16_t test_conn_handle = 0;
458
459 static void conn_cb(uint16_t handle, void *user_data)
460 {
461         struct test_data *data = tester_get_data();
462         struct bthost *bthost = hciemu_client_get_host(data->hciemu);
463
464         tester_print("New connection with handle 0x%04x", handle);
465
466         test_conn_handle = handle;
467
468         bthost_request_auth(bthost, handle);
469 }
470
471 static struct test_case test_cases[] = {
472         TEST_CASE_BREDRLE("Bluetooth Init",
473                 ACTION_SUCCESS(dummy_action, NULL),
474         ),
475         TEST_CASE_BREDRLE("Bluetooth Enable - Success",
476                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
477                 CALLBACK_ADAPTER_PROPS(prop_emu_default_set, 8),
478                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
479         ),
480         TEST_CASE_BREDRLE("Bluetooth Enable - Success 2",
481                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
482                 CALLBACK_ADAPTER_PROPS(prop_emu_default_set, 8),
483                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
484                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
485         ),
486         TEST_CASE_BREDRLE("Bluetooth Disable - Success",
487                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
488                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
489                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
490                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
491         ),
492         TEST_CASE_BREDRLE("Bluetooth Set BDNAME - Success",
493                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
494                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
495                 ACTION_SUCCESS(bt_set_property_action, &prop_test_bdname),
496                 CALLBACK_ADAPTER_PROPS(&prop_test_bdname, 1),
497         ),
498         TEST_CASE_BREDRLE("Bluetooth Set SCAN_MODE - Success",
499                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
500                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
501                 ACTION_SUCCESS(bt_set_property_action,
502                                         &prop_test_scanmode_conn_discov),
503                 CALLBACK_ADAPTER_PROPS(&prop_test_scanmode_conn_discov, 1),
504         ),
505         TEST_CASE_BREDRLE("Bluetooth Set DISCOVERY_TIMEOUT - Success",
506                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
507                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
508                 ACTION_SUCCESS(bt_set_property_action, &prop_test_disctimeout),
509                 CALLBACK_ADAPTER_PROPS(&prop_test_disctimeout, 1),
510         ),
511         TEST_CASE_BREDRLE("Bluetooth Get BDADDR - Success",
512                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
513                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
514                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_bdaddr),
515                 CALLBACK_ADAPTER_PROPS(&prop_emu_bdaddr, 1),
516         ),
517         TEST_CASE_BREDRLE("Bluetooth Get BDNAME - Success",
518                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
519                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
520                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_bdname),
521                 CALLBACK_ADAPTER_PROPS(&prop_emu_bdname, 1),
522         ),
523         TEST_CASE_BREDRLE("Bluetooth Set UUID - Fail",
524                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
525                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
526                 ACTION_FAIL(bt_set_property_action, &prop_test_uuid),
527         ),
528         TEST_CASE_BREDRLE("Bluetooth Set CLASS_OF_DEVICE - Fail",
529                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
530                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
531                 ACTION_FAIL(bt_set_property_action, &prop_test_cod),
532         ),
533         TEST_CASE_BREDRLE("Bluetooth Set TYPE_OF_DEVICE - Fail",
534                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
535                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
536                 ACTION_FAIL(bt_set_property_action, &prop_test_tod),
537         ),
538         TEST_CASE_BREDRLE("Bluetooth Set REMOTE_RSSI - Fail",
539                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
540                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
541                 ACTION_FAIL(bt_set_property_action, &prop_test_remote_rssi),
542         ),
543         TEST_CASE_BREDRLE("Bluetooth Set SERVICE_RECORD - Fail",
544                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
545                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
546                 ACTION_FAIL(bt_set_property_action, &prop_test_srvc_record),
547         ),
548         TEST_CASE_BREDRLE("Bluetooth Set BDADDR - Fail",
549                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
550                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
551                 ACTION_FAIL(bt_set_property_action, &prop_test_bdaddr),
552         ),
553         TEST_CASE_BREDRLE("Bluetooth Set SCAN_MODE_CONNECTABLE - Success",
554                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
555                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
556                 ACTION_SUCCESS(bt_set_property_action,
557                                                 &prop_test_scan_mode_conn),
558                 CALLBACK_ADAPTER_PROPS(&prop_test_scan_mode_conn, 1),
559         ),
560         TEST_CASE_BREDRLE("Bluetooth Set BONDED_DEVICES - Fail",
561                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
562                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
563                 ACTION_FAIL(bt_set_property_action, &prop_test_bonded_dev_addr),
564         ),
565         TEST_CASE_BREDRLE("Bluetooth Get CLASS_OF_DEVICE - Success",
566                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
567                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
568                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_cod),
569                 CALLBACK_ADAPTER_PROPS(&prop_emu_cod, 1),
570         ),
571         TEST_CASE_BREDRLE("Bluetooth Get TYPE_OF_DEVICE - Success",
572                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
573                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
574                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_dual_tod),
575                 CALLBACK_ADAPTER_PROPS(&prop_emu_dual_tod, 1),
576         ),
577         TEST_CASE_BREDRLE("Bluetooth Get SCAN_MODE - Success",
578                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
579                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
580                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_scan_mode),
581                 CALLBACK_ADAPTER_PROPS(&prop_emu_scan_mode, 1),
582         ),
583         TEST_CASE_BREDRLE("Bluetooth Get DISCOVERY_TIMEOUT - Success",
584                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
585                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
586                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_disc_timeout),
587                 CALLBACK_ADAPTER_PROPS(&prop_emu_disc_timeout, 1),
588         ),
589         TEST_CASE_BREDRLE("Bluetooth Get UUIDS - Success",
590                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
591                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
592                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_uuids),
593                 CALLBACK_ADAPTER_PROPS(&prop_emu_uuids, 1),
594         ),
595         TEST_CASE_BREDRLE("Bluetooth Get BONDED_DEVICES - Success",
596                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
597                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
598                 ACTION_SUCCESS(bt_get_property_action, &prop_emu_bonded_devs),
599                 CALLBACK_ADAPTER_PROPS(&prop_emu_bonded_devs, 1),
600         ),
601         TEST_CASE_BREDRLE("Bluetooth Set SCAN_MODE - Success 2",
602                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
603                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
604                 ACTION_SUCCESS(bt_set_property_action,
605                                                 &prop_test_scan_mode_none),
606                 CALLBACK_ADAPTER_PROPS(&prop_test_scan_mode_none, 1),
607         ),
608         TEST_CASE_BREDRLE("Bluetooth Discovery Start - Success",
609                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
610                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
611                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
612                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
613                                                         BT_DISCOVERY_STARTED),
614         ),
615         TEST_CASE_BREDRLE("Bluetooth Discovery Start - Done",
616                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
617                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
618                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
619                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
620                                                         BT_DISCOVERY_STARTED),
621                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
622         ),
623         TEST_CASE_BREDRLE("Bluetooth Discovery Stop - Success",
624                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
625                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
626                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
627                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
628                                                         BT_DISCOVERY_STARTED),
629                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
630                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
631                                                         BT_DISCOVERY_STOPPED),
632         ),
633         TEST_CASE_BREDRLE("Bluetooth Discovery Stop - Done",
634                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
635                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
636                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
637                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
638                                                         BT_DISCOVERY_STARTED),
639                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
640                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
641                                                         BT_DISCOVERY_STOPPED),
642                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
643         ),
644         TEST_CASE_BREDRLE("Bluetooth Discovery Device Found",
645                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
646                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
647                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
648                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
649                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
650                                                         BT_DISCOVERY_STARTED),
651                 CALLBACK_DEVICE_FOUND(prop_emu_remote_bles_default_set, 3),
652                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
653                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
654                                                         BT_DISCOVERY_STOPPED),
655         ),
656         TEST_CASE_BREDRLE("Bluetooth Device Get Props - Success",
657                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
658                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
659                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
660                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
661                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
662                                                         BT_DISCOVERY_STARTED),
663                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
664                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
665                                                         BT_DISCOVERY_STOPPED),
666                 ACTION_SUCCESS(bt_get_device_props_action,
667                                                         &emu_remote_bdaddr_val),
668                 CALLBACK_DEVICE_PROPS(prop_emu_remote_bles_query_set, 6),
669         ),
670         TEST_CASE_BREDRLE("Bluetooth Device Get BDNAME - Success",
671                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
672                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
673                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
674                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
675                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
676                                                         BT_DISCOVERY_STARTED),
677                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
678                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
679                                                         BT_DISCOVERY_STOPPED),
680                 ACTION_SUCCESS(bt_get_device_prop_action,
681                                         &prop_emu_remote_ble_bdname_req),
682                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_bdname_prop, 1),
683         ),
684         TEST_CASE_BREDRLE("Bluetooth Device Get UUIDS - Success",
685                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
686                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
687                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
688                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
689                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
690                                                         BT_DISCOVERY_STARTED),
691                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
692                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
693                                                         BT_DISCOVERY_STOPPED),
694                 ACTION_SUCCESS(bt_get_device_prop_action,
695                                                 &prop_emu_remote_ble_uuids_req),
696                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_uuids_prop, 1),
697         ),
698         TEST_CASE_BREDRLE("Bluetooth Device Get COD - Success",
699                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
700                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
701                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
702                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
703                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
704                                                         BT_DISCOVERY_STARTED),
705                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
706                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
707                                                         BT_DISCOVERY_STOPPED),
708                 ACTION_SUCCESS(bt_get_device_prop_action,
709                                                 &prop_emu_remote_ble_cod_req),
710                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_cod_prop, 1),
711         ),
712         TEST_CASE_BREDRLE("Bluetooth Device Get TOD - Success",
713                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
714                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
715                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
716                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
717                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
718                                                         BT_DISCOVERY_STARTED),
719                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
720                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
721                                                         BT_DISCOVERY_STOPPED),
722                 ACTION_SUCCESS(bt_get_device_prop_action,
723                                                 &prop_emu_remote_ble_tod_req),
724                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_tod_prop, 1),
725         ),
726         TEST_CASE_BREDRLE("Bluetooth Device Get RSSI - Success",
727                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
728                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
729                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
730                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
731                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
732                                                         BT_DISCOVERY_STARTED),
733                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
734                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
735                                                         BT_DISCOVERY_STOPPED),
736                 ACTION_SUCCESS(bt_get_device_prop_action,
737                                                 &prop_emu_remote_ble_rssi_req),
738                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_rssi_prop, 1),
739         ),
740         TEST_CASE_BREDRLE("Bluetooth Device Get TIMESTAMP - Success",
741                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
742                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
743                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
744                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
745                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
746                                                         BT_DISCOVERY_STARTED),
747                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
748                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
749                                                         BT_DISCOVERY_STOPPED),
750                 ACTION_SUCCESS(bt_get_device_prop_action,
751                                         &prop_emu_remote_ble_timestamp_req),
752                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_timestamp_prop, 1),
753         ),
754         TEST_CASE_BREDRLE("Bluetooth Device Get BDADDR - Fail",
755                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
756                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
757                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
758                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
759                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
760                                                         BT_DISCOVERY_STARTED),
761                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
762                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
763                                                         BT_DISCOVERY_STOPPED),
764                 ACTION_FAIL(bt_get_device_prop_action,
765                                         &prop_emu_remote_ble_bdaddr_req),
766         ),
767         TEST_CASE_BREDRLE("Bluetooth Device Get SCAN_MODE - Fail",
768                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
769                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
770                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
771                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
772                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
773                                                         BT_DISCOVERY_STARTED),
774                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
775                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
776                                                         BT_DISCOVERY_STOPPED),
777                 ACTION_FAIL(bt_get_device_prop_action,
778                                         &prop_emu_remote_ble_scan_mode_req),
779         ),
780         TEST_CASE_BREDRLE("Bluetooth Device Get BONDED_DEVICES - Fail",
781                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
782                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
783                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
784                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
785                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
786                                                         BT_DISCOVERY_STARTED),
787                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
788                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
789                                                         BT_DISCOVERY_STOPPED),
790                 ACTION_FAIL(bt_get_device_prop_action,
791                                         &prop_emu_remote_ble_bondeddev_req),
792         ),
793         TEST_CASE_BREDRLE("Bluetooth Device Get DISCOVERY_TIMEOUT - Fail",
794                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
795                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
796                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
797                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
798                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
799                                                         BT_DISCOVERY_STARTED),
800                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
801                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
802                                                         BT_DISCOVERY_STOPPED),
803                 ACTION_FAIL(bt_get_device_prop_action,
804                                         &prop_emu_remote_ble_disctimeout_req),
805         ),
806         TEST_CASE_BREDRLE("Bluetooth Device Get VERSION_INFO - Fail",
807                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
808                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
809                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
810                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
811                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
812                                                         BT_DISCOVERY_STARTED),
813                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
814                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
815                                                         BT_DISCOVERY_STOPPED),
816                 ACTION_FAIL(bt_get_device_prop_action,
817                                         &prop_emu_remote_ble_verinfo_req),
818         ),
819         TEST_CASE_BREDRLE("Bluetooth Device Get FRIENDLY_NAME - Fail",
820                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
821                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
822                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
823                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
824                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
825                                                         BT_DISCOVERY_STARTED),
826                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
827                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
828                                                         BT_DISCOVERY_STOPPED),
829                 ACTION_FAIL(bt_get_device_prop_action,
830                                                 &prop_emu_remote_ble_fname_req),
831         ),
832         TEST_CASE_BREDRLE("Bluetooth Device Set FRIENDLY_NAME - Success",
833                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
834                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
835                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
836                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
837                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
838                                                         BT_DISCOVERY_STARTED),
839                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
840                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
841                                                         BT_DISCOVERY_STOPPED),
842                 ACTION_SUCCESS(bt_set_device_prop_action,
843                                                 &prop_emu_remote_ble_fname_req),
844                 ACTION_SUCCESS(bt_get_device_prop_action,
845                                                 &prop_emu_remote_ble_fname_req),
846                 CALLBACK_DEVICE_PROPS(&prop_emu_remote_ble_fname_prop, 1),
847         ),
848         TEST_CASE_BREDRLE("Bluetooth Device Set BDNAME - Fail",
849                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
850                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
851                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
852                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
853                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
854                                                         BT_DISCOVERY_STARTED),
855                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
856                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
857                                                         BT_DISCOVERY_STOPPED),
858                 ACTION_FAIL(bt_set_device_prop_action,
859                                         &prop_test_remote_ble_bdname_req),
860         ),
861         TEST_CASE_BREDRLE("Bluetooth Device Set UUIDS - Fail",
862                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
863                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
864                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
865                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
866                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
867                                                         BT_DISCOVERY_STARTED),
868                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
869                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
870                                                         BT_DISCOVERY_STOPPED),
871                 ACTION_FAIL(bt_set_device_prop_action,
872                                         &prop_test_remote_ble_uuids_req),
873         ),
874         TEST_CASE_BREDRLE("Bluetooth Device Set COD - Fail",
875                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
876                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
877                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
878                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
879                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
880                                                         BT_DISCOVERY_STARTED),
881                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
882                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
883                                                         BT_DISCOVERY_STOPPED),
884                 ACTION_FAIL(bt_set_device_prop_action,
885                                                 &prop_test_remote_ble_cod_req),
886         ),
887         TEST_CASE_BREDRLE("Bluetooth Device Set TOD - Fail",
888                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
889                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
890                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
891                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
892                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
893                                                         BT_DISCOVERY_STARTED),
894                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
895                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
896                                                         BT_DISCOVERY_STOPPED),
897                 ACTION_FAIL(bt_set_device_prop_action,
898                                                 &prop_test_remote_ble_tod_req),
899         ),
900         TEST_CASE_BREDRLE("Bluetooth Device Set RSSI - Fail",
901                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
902                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
903                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
904                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
905                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
906                                                         BT_DISCOVERY_STARTED),
907                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
908                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
909                                                         BT_DISCOVERY_STOPPED),
910                 ACTION_FAIL(bt_set_device_prop_action,
911                                                 &prop_test_remote_ble_rssi_req),
912         ),
913         TEST_CASE_BREDRLE("Bluetooth Device Set TIMESTAMP - Fail",
914                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
915                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
916                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
917                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
918                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
919                                                         BT_DISCOVERY_STARTED),
920                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
921                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
922                                                         BT_DISCOVERY_STOPPED),
923                 ACTION_FAIL(bt_set_device_prop_action,
924                                         &prop_test_remote_ble_timestamp_req),
925         ),
926         TEST_CASE_BREDRLE("Bluetooth Device Set BDADDR - Fail",
927                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
928                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
929                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
930                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
931                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
932                                                         BT_DISCOVERY_STARTED),
933                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
934                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
935                                                         BT_DISCOVERY_STOPPED),
936                 ACTION_FAIL(bt_set_device_prop_action,
937                                         &prop_test_remote_ble_bdaddr_req),
938         ),
939         TEST_CASE_BREDRLE("Bluetooth Device Set SERVICE_RECORD - Fail",
940                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
941                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
942                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
943                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
944                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
945                                                         BT_DISCOVERY_STARTED),
946                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
947                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
948                                                         BT_DISCOVERY_STOPPED),
949                 ACTION_FAIL(bt_set_device_prop_action,
950                                         &prop_test_remote_ble_srvc_record_req),
951         ),
952         TEST_CASE_BREDRLE("Bluetooth Device Set SCAN_MODE - Fail",
953                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
954                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
955                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
956                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
957                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
958                                                         BT_DISCOVERY_STARTED),
959                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
960                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
961                                                         BT_DISCOVERY_STOPPED),
962                 ACTION_FAIL(bt_set_device_prop_action,
963                                         &prop_test_remote_ble_scanmode_req),
964         ),
965         TEST_CASE_BREDRLE("Bluetooth Device Set BONDED_DEVICES - Fail",
966                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
967                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
968                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
969                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
970                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
971                                                         BT_DISCOVERY_STARTED),
972                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
973                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
974                                                         BT_DISCOVERY_STOPPED),
975                 ACTION_FAIL(bt_set_device_prop_action,
976                                                 &prop_test_ble_bonded_dev_req),
977         ),
978         TEST_CASE_BREDRLE("Bluetooth Device Set DISCOVERY_TIMEOUT - Fail",
979                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
980                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
981                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
982                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
983                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
984                                                         BT_DISCOVERY_STARTED),
985                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
986                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
987                                                         BT_DISCOVERY_STOPPED),
988                 ACTION_FAIL(bt_set_device_prop_action,
989                                         &prop_test_remote_ble_disc_timeout_req),
990         ),
991         TEST_CASE_BREDR("Bluetooth Create Bond PIN - Success",
992                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
993                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
994                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
995                 ACTION_SUCCESS(emu_set_pin_code_action, &emu_pin_set_req),
996                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
997                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
998                                                         BT_DISCOVERY_STARTED),
999                 CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
1000                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
1001                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1002                                                         BT_DISCOVERY_STOPPED),
1003                 ACTION_SUCCESS(bt_create_bond_action,
1004                                         &prop_test_remote_ble_bdaddr_req),
1005                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1006                                                 &prop_emu_remote_bdadr, 1),
1007                 CALLBACK_PROPS(CB_BT_PIN_REQUEST, prop_emu_remotes_pin_req_set,
1008                                                                         2),
1009                 ACTION_SUCCESS(bt_pin_reply_accept_action,
1010                                                         &emu_pin_set_req),
1011                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
1012                                                 &prop_emu_remote_bdadr, 1),
1013         ),
1014         TEST_CASE_BREDR("Bluetooth Create Bond PIN - Bad PIN",
1015                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1016                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1017                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1018                 ACTION_SUCCESS(emu_set_pin_code_action, &emu_pin_set_req),
1019                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
1020                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1021                                                         BT_DISCOVERY_STARTED),
1022                 CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
1023                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
1024                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1025                                                         BT_DISCOVERY_STOPPED),
1026                 ACTION_SUCCESS(bt_create_bond_action,
1027                                         &prop_test_remote_ble_bdaddr_req),
1028                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1029                                                 &prop_emu_remote_bdadr, 1),
1030                 CALLBACK_PROPS(CB_BT_PIN_REQUEST, prop_emu_remotes_pin_req_set,
1031                                                                         2),
1032                 ACTION_SUCCESS(bt_pin_reply_accept_action,
1033                                                 &emu_pin_set_invalid_req),
1034                 CALLBACK_BOND_STATE_FAILED(BT_BOND_STATE_NONE,
1035                                                 &prop_emu_remote_bdadr, 1,
1036                                                 BT_STATUS_AUTH_FAILURE),
1037         ),
1038         TEST_CASE_BREDR("Bluetooth Create Bond SSP -Success",
1039                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1040                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1041                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1042                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1043                 ACTION_SUCCESS(emu_set_io_cap, &display_yes_no_io_cap),
1044                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
1045                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1046                                                         BT_DISCOVERY_STARTED),
1047                 CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
1048                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
1049                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1050                                                         BT_DISCOVERY_STOPPED),
1051                 ACTION_SUCCESS(bt_create_bond_action,
1052                                         &prop_test_remote_ble_bdaddr_req),
1053                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1054                                                 &prop_emu_remote_bdadr, 1),
1055                 CALLBACK_SSP_REQ(BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
1056                                         prop_emu_remotes_pin_req_set, 2),
1057                 ACTION_SUCCESS(bt_ssp_reply_accept_action,
1058                                                 &ssp_confirm_accept_reply),
1059                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
1060                                                 &prop_emu_remote_bdadr, 1),
1061         ),
1062         TEST_CASE_BREDR("Bluetooth Create Bond SSP - Negative reply",
1063                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1064                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1065                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1066                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1067                 ACTION_SUCCESS(emu_set_io_cap, &display_yes_no_io_cap),
1068                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
1069                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1070                                                         BT_DISCOVERY_STARTED),
1071                 CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
1072                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
1073                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1074                                                         BT_DISCOVERY_STOPPED),
1075                 ACTION_SUCCESS(bt_create_bond_action,
1076                                         &prop_test_remote_ble_bdaddr_req),
1077                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1078                                                 &prop_emu_remote_bdadr, 1),
1079                 CALLBACK_SSP_REQ(BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
1080                                         prop_emu_remotes_pin_req_set, 2),
1081                 ACTION_SUCCESS(bt_ssp_reply_accept_action,
1082                                                 &ssp_confirm_reject_reply),
1083                 CALLBACK_BOND_STATE_FAILED(BT_BOND_STATE_NONE,
1084                                                 &prop_emu_remote_bdadr, 1,
1085                                                 BT_STATUS_AUTH_FAILURE),
1086         ),
1087         TEST_CASE_BREDR("Bluetooth Create Bond - No Discovery",
1088                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1089                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1090                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1091                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1092                 ACTION_SUCCESS(emu_set_io_cap, &display_yes_no_io_cap),
1093                 ACTION_SUCCESS(bt_create_bond_action,
1094                                         &prop_test_remote_ble_bdaddr_req),
1095                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1096                                                 &prop_emu_remote_bdadr, 1),
1097                 CALLBACK_SSP_REQ(BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
1098                                         prop_emu_remotes_pin_req_set, 2),
1099                 ACTION_SUCCESS(bt_ssp_reply_accept_action,
1100                                                 &ssp_confirm_accept_reply),
1101                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
1102                                                 &prop_emu_remote_bdadr, 1),
1103                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
1104                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
1105         ),
1106         TEST_CASE_BREDR("Bluetooth Create Bond - Bad Address",
1107                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1108                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1109                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1110                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1111                 ACTION_SUCCESS(bt_create_bond_action, &prop_test_bdaddr_req),
1112                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1113                                                         &prop_test_bdaddr, 1),
1114                 CALLBACK_BOND_STATE_FAILED(BT_BOND_STATE_NONE,
1115                                                         &prop_test_bdaddr, 1,
1116                                                         BT_STATUS_FAIL),
1117                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
1118                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
1119         ),
1120         TEST_CASE_BREDR("Bluetooth Cancel Bonding - Success",
1121                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1122                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1123                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1124                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1125                 ACTION_SUCCESS(emu_set_io_cap, &display_yes_no_io_cap),
1126                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
1127                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1128                                                         BT_DISCOVERY_STARTED),
1129                 CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
1130                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
1131                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1132                                                         BT_DISCOVERY_STOPPED),
1133                 ACTION_SUCCESS(bt_create_bond_action,
1134                                         &prop_test_remote_ble_bdaddr_req),
1135                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1136                                                 &prop_emu_remote_bdadr, 1),
1137                 CALLBACK_SSP_REQ(BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
1138                                         prop_emu_remotes_pin_req_set, 2),
1139                 ACTION_SUCCESS(bt_cancel_bond_action, &emu_remote_bdaddr_val),
1140                 CALLBACK_BOND_STATE_FAILED(BT_BOND_STATE_NONE,
1141                                                 &prop_emu_remote_bdadr, 1,
1142                                                 BT_STATUS_FAIL),
1143                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
1144                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
1145         ),
1146         TEST_CASE_BREDR("Bluetooth Remove Bond - Success",
1147                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1148                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1149                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1150                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1151                 ACTION_SUCCESS(emu_set_io_cap, &display_yes_no_io_cap),
1152                 ACTION_SUCCESS(bt_start_discovery_action, NULL),
1153                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1154                                                         BT_DISCOVERY_STARTED),
1155                 CALLBACK_DEVICE_FOUND(prop_emu_remotes_default_set, 3),
1156                 ACTION_SUCCESS(bt_cancel_discovery_action, NULL),
1157                 CALLBACK_STATE(CB_BT_DISCOVERY_STATE_CHANGED,
1158                                                         BT_DISCOVERY_STOPPED),
1159                 ACTION_SUCCESS(bt_create_bond_action,
1160                                         &prop_test_remote_ble_bdaddr_req),
1161                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1162                                                 &prop_emu_remote_bdadr, 1),
1163                 CALLBACK_SSP_REQ(BT_SSP_VARIANT_PASSKEY_CONFIRMATION,
1164                                         prop_emu_remotes_pin_req_set, 2),
1165                 ACTION_SUCCESS(bt_ssp_reply_accept_action,
1166                                                 &ssp_confirm_accept_reply),
1167                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
1168                                                 &prop_emu_remote_bdadr, 1),
1169                 ACTION_SUCCESS(bt_remove_bond_action, &emu_remote_bdaddr_val),
1170                 CALLBACK_BOND_STATE(BT_BOND_STATE_NONE,
1171                                                 &prop_emu_remote_bdadr, 1),
1172                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
1173                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
1174         ),
1175         TEST_CASE_BREDR("Bluetooth Accept Bond - Just Works - Success",
1176                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1177                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1178                 ACTION_SUCCESS(bt_set_property_action,
1179                                         &prop_test_scanmode_conn_discov),
1180                 CALLBACK_ADAPTER_PROPS(&prop_test_scanmode_conn_discov, 1),
1181                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1182                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1183                 ACTION_SUCCESS(emu_set_io_cap, &no_input_no_output_io_cap),
1184                 ACTION_SUCCESS(emu_set_connect_cb_action, conn_cb),
1185                 ACTION_SUCCESS(emu_remote_connect_hci_action, NULL),
1186                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1187                                                 &prop_emu_remote_bdadr, 1),
1188                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
1189                                                 &prop_emu_remote_bdadr, 1),
1190                 ACTION_SUCCESS(bt_remove_bond_action, &emu_remote_bdaddr_val),
1191                 CALLBACK_BOND_STATE(BT_BOND_STATE_NONE,
1192                                                 &prop_emu_remote_bdadr, 1),
1193                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
1194                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
1195         ),
1196         TEST_CASE_BREDR("Bluetooth Accept Bond - No Bond - Success",
1197                 ACTION_SUCCESS(bluetooth_enable_action, NULL),
1198                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
1199                 ACTION_SUCCESS(bt_set_property_action,
1200                                         &prop_test_scanmode_conn_discov),
1201                 CALLBACK_ADAPTER_PROPS(&prop_test_scanmode_conn_discov, 1),
1202                 ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
1203                 ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
1204                 ACTION_SUCCESS(emu_set_io_cap, &no_input_no_output_io_cap),
1205                 ACTION_SUCCESS(emu_set_connect_cb_action, conn_cb),
1206                 ACTION_SUCCESS(emu_remote_connect_hci_action, NULL),
1207                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1208                                                 &prop_emu_remote_bdadr, 1),
1209                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDED,
1210                                                 &prop_emu_remote_bdadr, 1),
1211                 ACTION_SUCCESS(emu_remote_disconnect_hci_action,
1212                                                         &test_conn_handle),
1213                 ACTION_SUCCESS(bluetooth_disable_action, NULL),
1214                 CALLBACK_BOND_STATE(BT_BOND_STATE_BONDING,
1215                                                 &prop_emu_remote_bdadr, 1),
1216                 CALLBACK_BOND_STATE(BT_BOND_STATE_NONE,
1217                                                 &prop_emu_remote_bdadr, 1),
1218                 CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
1219         ),
1220 };
1221
1222 struct queue *get_bluetooth_tests(void)
1223 {
1224         uint16_t i = 0;
1225
1226         list = queue_new();
1227
1228         for (; i < sizeof(test_cases) / sizeof(test_cases[0]); ++i)
1229                 queue_push_tail(list, &test_cases[i]);
1230
1231         return list;
1232 }
1233
1234 void remove_bluetooth_tests(void)
1235 {
1236         queue_destroy(list, NULL);
1237 }