crash test

This commit is contained in:
mila@ringwald.ch 2014-12-03 21:07:00 +00:00
parent 21b856f39b
commit 54f81772cb

View File

@ -26,6 +26,7 @@
static uint16_t gatt_client_handle = 0x40;
static uint16_t gatt_client_id;
static int gatt_query_complete = 0;
typedef enum {
IDLE,
@ -199,13 +200,16 @@ static void handle_ble_client_event(le_event_t * event){
result_counter++;
break;
}
case GATT_QUERY_COMPLETE:
gatt_query_complete = 1;
break;
default:
break;
}
}
extern "C" int att_write_callback(uint16_t con_handle, uint16_t attribute_handle, uint16_t transaction_mode, uint16_t offset, uint8_t *buffer, uint16_t buffer_size){
// printf("gatt client test, att_write_callback mode %u, handle 0x%04x, offset %u, data ", transaction_mode, con_handle, offset);
printf("gatt client test, att_write_callback mode %u, handle 0x%04x, offset %u, data ", transaction_mode, con_handle, offset);
switch(test){
case WRITE_CHARACTERISTIC_DESCRIPTOR:
case WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION:
@ -215,6 +219,7 @@ extern "C" int att_write_callback(uint16_t con_handle, uint16_t attribute_handle
result_counter++;
break;
case WRITE_CHARACTERISTIC_VALUE:
printf("att_write_callback \n");
CHECK_EQUAL(ATT_TRANSACTION_MODE_NONE, transaction_mode);
CHECK_EQUAL(0, offset);
CHECK_EQUAL_ARRAY((uint8_t *)short_value, buffer, short_value_length);
@ -248,6 +253,7 @@ extern "C" uint16_t att_read_callback(uint16_t handle, uint16_t attribute_handle
switch(test){
case READ_CHARACTERISTIC_DESCRIPTOR:
case READ_CHARACTERISTIC_VALUE:
printf("result_counter %d\n", result_counter);
result_counter++;
if (buffer){
return copy_bytes((uint8_t *)short_value, short_value_length, offset, buffer, buffer_size);
@ -291,6 +297,7 @@ TEST_GROUP(GATTClient){
}
void reset_query_state(){
gatt_query_complete = 0;
result_counter = 0;
result_index = 0;
}
@ -302,7 +309,9 @@ TEST(GATTClient, TestDiscoverPrimaryServices){
reset_query_state();
status = gatt_client_discover_primary_services(gatt_client_id, gatt_client_handle);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
verify_primary_services();
CHECK_EQUAL(gatt_query_complete, 1);
}
@ -313,6 +322,7 @@ TEST(GATTClient, TestDiscoverPrimaryServicesByUUID16){
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(result_counter, 1);
verify_primary_services_with_uuid16();
CHECK_EQUAL(gatt_query_complete, 1);
}
@ -322,6 +332,7 @@ TEST(GATTClient, TestDiscoverPrimaryServicesByUUID128){
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(result_counter, 1);
verify_primary_services_with_uuid128();
CHECK_EQUAL(gatt_query_complete, 1);
}
@ -330,10 +341,12 @@ TEST(GATTClient, TestFindIncludedServicesForServiceWithUUID16){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
reset_query_state();
status = gatt_client_find_included_services_for_service(gatt_client_id, gatt_client_handle, &services[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
verify_included_services_uuid16();
}
@ -342,10 +355,12 @@ TEST(GATTClient, TestFindIncludedServicesForServiceWithUUID128){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid128(gatt_client_id, gatt_client_handle, primary_service_uuid128);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
reset_query_state();
status = gatt_client_find_included_services_for_service(gatt_client_id, gatt_client_handle, &services[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
verify_included_services_uuid128();
}
@ -356,10 +371,12 @@ TEST(GATTClient, TestDiscoverCharacteristicsForService){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service(gatt_client_id, gatt_client_handle, &services[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
verify_charasteristics();
}
@ -369,6 +386,7 @@ TEST(GATTClient, TestDiscoverCharacteristicsByUUID16){
reset_query_state();
status = gatt_client_discover_characteristics_for_handle_range_by_uuid16(gatt_client_id, gatt_client_handle, 0x30, 0x32, 0xF102);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
@ -378,6 +396,7 @@ TEST(GATTClient, TestDiscoverCharacteristicsByUUID128){
reset_query_state();
status = gatt_client_discover_characteristics_for_handle_range_by_uuid128(gatt_client_id, gatt_client_handle, characteristic_handles[1][0], characteristic_handles[1][1], characteristic_uuids[1]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
@ -387,17 +406,20 @@ TEST(GATTClient, TestDiscoverCharacteristics4ServiceByUUID128){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid128(gatt_client_id, gatt_client_handle, primary_service_uuid128);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
uint8_t characteristic_uuid[] = {0x00, 0x00, 0xF2, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
status = gatt_client_discover_characteristics_for_service_by_uuid128(gatt_client_id, gatt_client_handle, &services[0], characteristic_uuid);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF200);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
@ -407,17 +429,20 @@ TEST(GATTClient, TestDiscoverCharacteristics4ServiceByUUID16){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
uint8_t characteristic_uuid[]= { 0x00, 0x00, 0xF1, 0x05, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
status = gatt_client_discover_characteristics_for_service_by_uuid128(gatt_client_id, gatt_client_handle, &services[0], characteristic_uuid);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
@ -427,16 +452,19 @@ TEST(GATTClient, TestDiscoverCharacteristicDescriptor){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristic_descriptors(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK(result_counter);
CHECK_EQUAL(3, result_index);
CHECK_EQUAL(0x2902, descriptors[0].uuid16);
@ -450,49 +478,55 @@ TEST(GATTClient, TestReadCharacteristicDescriptor){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristic_descriptors(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 3);
reset_query_state();
status = gatt_client_read_characteristic_descriptor(gatt_client_id, gatt_client_handle, &descriptors[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 3);
}
/*
TEST(GATTClient, TestWriteCharacteristicDescriptor){
test = WRITE_CHARACTERISTIC_DESCRIPTOR;
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristic_descriptors(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 3);
reset_query_state();
status = gatt_client_write_characteristic_descriptor(gatt_client_id, gatt_client_handle, &descriptors[0], sizeof(indication), indication);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(result_counter, 1);
CHECK_EQUAL(gatt_query_complete, 1);
// CHECK_EQUAL(result_counter, 1);
}
*/
TEST(GATTClient, TestWriteClientCharacteristicConfiguration){
@ -500,41 +534,49 @@ TEST(GATTClient, TestWriteClientCharacteristicConfiguration){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_write_client_characteristic_configuration(gatt_client_id, gatt_client_handle, &characteristics[0], GATT_CLIENT_CHARACTERISTICS_CONFIGURATION_NOTIFICATION);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
/*
TEST(GATTClient, TestReadLongCharacteristicDescriptor){
test = READ_LONG_CHARACTERISTIC_DESCRIPTOR;
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid128(gatt_client_id, gatt_client_handle, primary_service_uuid128);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF200);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristic_descriptors(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 3);
reset_query_state();
result_counter = 0;
status = gatt_client_read_long_characteristic_descriptor(gatt_client_id, gatt_client_handle, &descriptors[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(result_counter, 7);
CHECK_EQUAL(gatt_query_complete, 1);
// CHECK_EQUAL(result_counter, 7);
}
@ -543,41 +585,47 @@ TEST(GATTClient, TestWriteLongCharacteristicDescriptor){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid128(gatt_client_id, gatt_client_handle, primary_service_uuid128);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF200);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristic_descriptors(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 3);
result_counter = 0;
status = gatt_client_write_long_characteristic_descriptor(gatt_client_id, gatt_client_handle, &descriptors[0], sizeof(long_value), (uint8_t *)long_value);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
*/
TEST(GATTClient, TestReadCharacteristicValue){
test = READ_CHARACTERISTIC_VALUE;
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_read_value_of_characteristic(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 3);
}
@ -587,57 +635,66 @@ TEST(GATTClient, TestReadLongCharacteristicValue){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_read_long_value_of_characteristic(gatt_client_id, gatt_client_handle, &characteristics[0]);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 7);
}
*/
TEST(GATTClient, TestWriteCharacteristicValue){
printf("WRITE_CHARACTERISTIC_VALUE \n");
test = WRITE_CHARACTERISTIC_VALUE;
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_write_value_of_characteristic(gatt_client_id, gatt_client_handle, characteristics[0].value_handle, short_value_length, (uint8_t*)short_value);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(result_counter, 1);
CHECK_EQUAL(gatt_query_complete, 1);
}
/*
TEST(GATTClient, TestWriteLongCharacteristicValue){
test = WRITE_LONG_CHARACTERISTIC_VALUE;
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_write_long_value_of_characteristic(gatt_client_id, gatt_client_handle, characteristics[0].value_handle, long_value_length, (uint8_t*)long_value);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
}
TEST(GATTClient, TestWriteReliableLongCharacteristicValue){
@ -645,16 +702,19 @@ TEST(GATTClient, TestWriteReliableLongCharacteristicValue){
reset_query_state();
status = gatt_client_discover_primary_services_by_uuid16(gatt_client_id, gatt_client_handle, service_uuid16);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_discover_characteristics_for_service_by_uuid16(gatt_client_id, gatt_client_handle, &services[0], 0xF100);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK_EQUAL(result_counter, 1);
reset_query_state();
status = gatt_client_reliable_write_long_value_of_characteristic(gatt_client_id, gatt_client_handle, characteristics[0].value_handle, long_value_length, (uint8_t*)long_value);
CHECK_EQUAL(status, BLE_PERIPHERAL_OK);
CHECK_EQUAL(gatt_query_complete, 1);
CHECK(result_counter);
}
*/