summaryrefslogtreecommitdiff
path: root/android/ipc-tester.c
diff options
context:
space:
mode:
authorJakub Tyszkowski <jakub.tyszkowski@tieto.com>2014-01-22 09:25:24 +0100
committerSzymon Janc <szymon.janc@gmail.com>2014-01-23 23:42:30 +0100
commit72d2c6c415a483dd5a658756e83fc7bb28576f35 (patch)
tree5c8285a7faea2e0939c075f4244a56d9a2f7d7c0 /android/ipc-tester.c
parentb39585c05001135b3547a9e5ef67ec30917f5a53 (diff)
downloadbluez-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.c49
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,