diff options
author | Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com> | 2014-10-06 14:54:00 +0200 |
---|---|---|
committer | Szymon Janc <szymon.janc@tieto.com> | 2014-10-06 16:01:52 +0200 |
commit | 5040ae422bd94235e08016ee6913c4bdc41c44b2 (patch) | |
tree | 3491cd6ffced494769650a7ee156f6e159dcddec /android/tester-gatt.c | |
parent | 60e419330ab4fbacd5fc6575960fa51bad349dc6 (diff) | |
download | bluez-5040ae422bd94235e08016ee6913c4bdc41c44b2.tar.gz |
android/tester: Add GATT server add service test cases
This adds service add by server test cases.
Diffstat (limited to 'android/tester-gatt.c')
-rw-r--r-- | android/tester-gatt.c | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/android/tester-gatt.c b/android/tester-gatt.c index 68279954e..61fa9002b 100644 --- a/android/tester-gatt.c +++ b/android/tester-gatt.c @@ -109,6 +109,12 @@ struct notif_data { btgatt_gatt_id_t *charac; }; +struct add_service_data { + int app_id; + btgatt_srvc_id_t *service; + int num_handles; +}; + static bt_bdaddr_t emu_remote_bdaddr_val = { .address = { 0x00, 0xaa, 0x01, 0x01, 0x00, 0x00 }, }; @@ -181,6 +187,33 @@ static btgatt_srvc_id_t service_2 = { } }; +static btgatt_srvc_id_t service_add_1 = { + .is_primary = true, + .id = { + .inst_id = 0, + .uuid.uu = {0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, + 0x00, 0x10, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00}, + } +}; + +static btgatt_srvc_id_t service_add_2 = { + .is_primary = true, + .id = { + .inst_id = 1, + .uuid.uu = {0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, + 0x00, 0x10, 0x00, 0x00, 0xFF, 0xDF, 0x00, 0x00}, + } +}; + +static btgatt_srvc_id_t service_add_3 = { + .is_primary = true, + .id = { + .inst_id = 2, + .uuid.uu = {0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, + 0x00, 0x10, 0x00, 0x00, 0xFF, 0xCF, 0x00, 0x00}, + } +}; + static btgatt_srvc_id_t included_1 = { .is_primary = false, .id = { @@ -304,6 +337,36 @@ static struct notif_data notif_data_1 = { .bdaddr = &emu_remote_bdaddr_val, }; +static struct add_service_data add_service_data_1 = { + .app_id = APP1_ID, + .service = &service_add_1, + .num_handles = 1 +}; + +static struct add_service_data add_service_data_2 = { + .app_id = APP1_ID, + .service = &service_add_2, + .num_handles = 1 +}; + +static struct add_service_data add_service_data_3 = { + .app_id = APP1_ID, + .service = &service_add_3, + .num_handles = 1 +}; + +static struct add_service_data add_bad_service_data_1 = { + .app_id = APP1_ID, + .service = &service_add_1, + .num_handles = 0 +}; + +static struct add_service_data add_sec_service_data_1 = { + .app_id = APP1_ID, + .service = &included_1, + .num_handles = 1 +}; + struct set_read_params { btgatt_read_params_t *params; btgatt_srvc_id_t *srvc_id; @@ -1003,6 +1066,21 @@ static void gatt_server_disconnect_action(void) schedule_action_verification(step); } +static void gatt_server_add_service_action(void) +{ + struct test_data *data = tester_get_data(); + struct step *current_data_step = queue_peek_head(data->steps); + struct add_service_data *add_srvc_data = current_data_step->set_data; + struct step *step = g_new0(struct step, 1); + + step->action_status = data->if_gatt->server->add_service( + add_srvc_data->app_id, + add_srvc_data->service, + add_srvc_data->num_handles); + + schedule_action_verification(step); +} + static void gatt_cid_hook_cb(const void *data, uint16_t len, void *user_data) { struct test_data *t_data = tester_get_data(); @@ -2272,6 +2350,46 @@ static struct test_case test_cases[] = { ACTION_SUCCESS(bluetooth_disable_action, NULL), CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF), ), + TEST_CASE_BREDRLE("Gatt Server - Add Single Service Successful", + ACTION_SUCCESS(gatt_server_register_action, &app1_uuid), + CALLBACK_STATUS(CB_GATTS_REGISTER_SERVER, BT_STATUS_SUCCESS), + ACTION_SUCCESS(gatt_server_add_service_action, + &add_service_data_1), + CALLBACK_GATTS_SERVICE_ADDED(GATT_STATUS_SUCCESS, APP1_ID, + &service_add_1, NULL, NULL), + ), + TEST_CASE_BREDRLE("Gatt Server - Add Multiple Services Successful", + ACTION_SUCCESS(gatt_server_register_action, &app1_uuid), + CALLBACK_STATUS(CB_GATTS_REGISTER_SERVER, BT_STATUS_SUCCESS), + ACTION_SUCCESS(gatt_server_add_service_action, + &add_service_data_1), + CALLBACK_GATTS_SERVICE_ADDED(GATT_STATUS_SUCCESS, APP1_ID, + &service_add_1, NULL, NULL), + ACTION_SUCCESS(gatt_server_add_service_action, + &add_service_data_2), + CALLBACK_GATTS_SERVICE_ADDED(GATT_STATUS_SUCCESS, APP1_ID, + &service_add_2, NULL, NULL), + ACTION_SUCCESS(gatt_server_add_service_action, + &add_service_data_3), + CALLBACK_GATTS_SERVICE_ADDED(GATT_STATUS_SUCCESS, APP1_ID, + &service_add_3, NULL, NULL), + ), + TEST_CASE_BREDRLE("Gatt Server - Add Service with 0 handles", + ACTION_SUCCESS(gatt_server_register_action, &app1_uuid), + CALLBACK_STATUS(CB_GATTS_REGISTER_SERVER, BT_STATUS_SUCCESS), + ACTION_FAIL(gatt_server_add_service_action, + &add_bad_service_data_1), + CALLBACK_GATTS_SERVICE_ADDED(GATT_STATUS_FAILURE, APP1_ID, + &service_add_1, NULL, NULL), + ), + TEST_CASE_BREDRLE("Gatt Server - Add Secondary Service", + ACTION_SUCCESS(gatt_server_register_action, &app1_uuid), + CALLBACK_STATUS(CB_GATTS_REGISTER_SERVER, BT_STATUS_SUCCESS), + ACTION_SUCCESS(gatt_server_add_service_action, + &add_sec_service_data_1), + CALLBACK_GATTS_SERVICE_ADDED(GATT_STATUS_SUCCESS, APP1_ID, + &included_1, NULL, NULL), + ), }; struct queue *get_gatt_tests(void) |