~timchen119/+junk/bluez5-trusty

« back to all changes in this revision

Viewing changes to android/tester-bluetooth.c

  • Committer: tim
  • Date: 2015-09-04 08:03:03 UTC
  • Revision ID: tim@tim-inspiron-5442-20150904080303-75u7z8bdsl17xz8q
* init

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
        if (!list)
 
1228
                return NULL;
 
1229
 
 
1230
        for (; i < sizeof(test_cases) / sizeof(test_cases[0]); ++i)
 
1231
                if (!queue_push_tail(list, &test_cases[i])) {
 
1232
                        queue_destroy(list, NULL);
 
1233
                        return NULL;
 
1234
                }
 
1235
 
 
1236
        return list;
 
1237
}
 
1238
 
 
1239
void remove_bluetooth_tests(void)
 
1240
{
 
1241
        queue_destroy(list, NULL);
 
1242
}