diff options
author | Jakub Tyszkowski <jakub.tyszkowski@tieto.com> | 2014-01-22 09:25:24 +0100 |
---|---|---|
committer | Szymon Janc <szymon.janc@gmail.com> | 2014-01-23 23:42:30 +0100 |
commit | 72d2c6c415a483dd5a658756e83fc7bb28576f35 (patch) | |
tree | 5c8285a7faea2e0939c075f4244a56d9a2f7d7c0 /android/ipc-tester.c | |
parent | b39585c05001135b3547a9e5ef67ec30917f5a53 (diff) | |
download | bluez-72d2c6c415a483dd5a658756e83fc7bb28576f35.tar.gz |
android/ipc-tester: Add case for BT Set remote prop
This patch adds test for verifying data length inside
hal_cmd_set_remote_device_prop struct.
Diffstat (limited to 'android/ipc-tester.c')
-rw-r--r-- | android/ipc-tester.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/android/ipc-tester.c b/android/ipc-tester.c index e44afb318..e1aeb2eaa 100644 --- a/android/ipc-tester.c +++ b/android/ipc-tester.c @@ -687,6 +687,41 @@ static struct bt_set_adapter_prop_data bt_set_adapter_prop_data_unders = { .buf = set_name, }; +struct bt_set_remote_prop_data { + struct hal_hdr hdr; + struct hal_cmd_set_remote_device_prop prop; + + /* data placeholder for hal_cmd_set_remote_device_prop.val[0] */ + uint8_t buf[BLUEZ_HAL_MTU - sizeof(struct hal_hdr) - + sizeof(struct hal_cmd_set_remote_device_prop)]; +} __attribute__((packed)); + +static struct bt_set_remote_prop_data bt_set_remote_prop_data_overs = { + .hdr.service_id = HAL_SERVICE_ID_BLUETOOTH, + .hdr.opcode = HAL_OP_SET_REMOTE_DEVICE_PROP, + .hdr.len = sizeof(struct hal_cmd_set_remote_device_prop) + + sizeof(set_name), + + .prop.bdaddr = {}, + .prop.type = HAL_PROP_DEVICE_NAME, + /* declare wrong descriptor length */ + .prop.len = sizeof(set_name) + 1, + .buf = set_name, +}; + +static struct bt_set_remote_prop_data bt_set_remote_prop_data_unders = { + .hdr.service_id = HAL_SERVICE_ID_BLUETOOTH, + .hdr.opcode = HAL_OP_SET_REMOTE_DEVICE_PROP, + .hdr.len = sizeof(struct hal_cmd_set_remote_device_prop) + + sizeof(set_name), + + .prop.bdaddr = {}, + .prop.type = HAL_PROP_DEVICE_NAME, + /* declare wrong descriptor length */ + .prop.len = sizeof(set_name) - 1, + .buf = set_name, +}; + struct hidhost_set_info_data { struct hal_hdr hdr; struct hal_cmd_hidhost_set_info info; @@ -931,6 +966,20 @@ int main(int argc, char *argv[]) HAL_OP_SET_REMOTE_DEVICE_PROP, sizeof(struct hal_cmd_set_remote_device_prop), -1, HAL_SERVICE_ID_BLUETOOTH); + test_generic("Data size BT Set Remote Prop Vardata+", + ipc_send_tc, setup, teardown, + &bt_set_remote_prop_data_overs, + (sizeof(struct hal_hdr) + + sizeof(struct hal_cmd_set_remote_device_prop) + + sizeof(set_name)), + HAL_SERVICE_ID_BLUETOOTH); + test_generic("Data size BT Set Remote Prop Vardata-", + ipc_send_tc, setup, teardown, + &bt_set_remote_prop_data_unders, + (sizeof(struct hal_hdr) + + sizeof(struct hal_cmd_set_remote_device_prop) + + sizeof(set_name)), + HAL_SERVICE_ID_BLUETOOTH); test_datasize_valid("BT Get Remote SV Rec+", HAL_SERVICE_ID_BLUETOOTH, HAL_OP_GET_REMOTE_SERVICE_REC, sizeof(struct hal_cmd_get_remote_service_rec), 1, |