hfp: include all tests in ag

This commit is contained in:
Milanka Ringwald 2015-08-12 13:54:40 +02:00
parent 0179abaad3
commit a722a0b488
3 changed files with 20 additions and 15 deletions

View File

@ -536,8 +536,10 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
break; break;
case HFP_CMD_AVAILABLE_CODECS: case HFP_CMD_AVAILABLE_CODECS:
// printf("Received codec %s\n", context->line_buffer); // printf("Received codec %s\n", context->line_buffer);
context->remote_codecs[context->remote_codecs_nr] = (uint16_t)atoi((char*)context->line_buffer); // context->remote_codecs[context->remote_codecs_nr] = (uint16_t)atoi((char*)context->line_buffer);
context->remote_codecs_nr++; context->remote_codecs[context->parser_item_index] = (uint16_t)atoi((char*)context->line_buffer);
context->parser_item_index++;
context->remote_codecs_nr = context->parser_item_index;
break; break;
case HFP_CMD_INDICATOR_STATUS: case HFP_CMD_INDICATOR_STATUS:
// printf("Indicator %d with status: %s\n", context->parser_item_index+1, context->line_buffer); // printf("Indicator %d with status: %s\n", context->parser_item_index+1, context->line_buffer);
@ -560,9 +562,9 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
context->remote_call_services_nr++; context->remote_call_services_nr++;
break; break;
case HFP_CMD_GENERIC_STATUS_INDICATOR: case HFP_CMD_GENERIC_STATUS_INDICATOR:
context->generic_status_indicators[context->parser_item_index].uuid = (uint16_t)atoi((char*)context->line_buffer);
context->generic_status_indicators[context->generic_status_indicators_nr].uuid = (uint16_t)atoi((char*)context->line_buffer); context->parser_item_index++;
context->generic_status_indicators_nr++; context->generic_status_indicators_nr = context->parser_item_index;
break; break;
case HFP_CMD_GENERIC_STATUS_INDICATOR_STATE: case HFP_CMD_GENERIC_STATUS_INDICATOR_STATE:
// HF parses inital AG gen. ind. state // HF parses inital AG gen. ind. state
@ -628,8 +630,8 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
context->line_buffer[context->line_size] = 0; context->line_buffer[context->line_size] = 0;
context->line_size = 0; context->line_size = 0;
//printf("Indicator %d: %s (", context->ag_indicators_nr+1, context->line_buffer); //printf("Indicator %d: %s (", context->ag_indicators_nr+1, context->line_buffer);
strcpy((char *)context->ag_indicators[context->ag_indicators_nr].name, (char *)context->line_buffer); strcpy((char *)context->ag_indicators[context->parser_item_index].name, (char *)context->line_buffer);
context->ag_indicators[context->ag_indicators_nr].index = context->ag_indicators_nr+1; context->ag_indicators[context->parser_item_index].index = context->parser_item_index+1;
break; break;
} }
if (byte == '('){ // parse indicator range if (byte == '('){ // parse indicator range
@ -643,7 +645,7 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
context->parser_state = HFP_PARSER_CMD_INDICATOR_MAX_RANGE; context->parser_state = HFP_PARSER_CMD_INDICATOR_MAX_RANGE;
context->line_buffer[context->line_size] = 0; context->line_buffer[context->line_size] = 0;
//printf("%d, ", atoi((char *)&context->line_buffer[0])); //printf("%d, ", atoi((char *)&context->line_buffer[0]));
context->ag_indicators[context->ag_indicators_nr].min_range = atoi((char *)context->line_buffer); context->ag_indicators[context->parser_item_index].min_range = atoi((char *)context->line_buffer);
context->line_size = 0; context->line_size = 0;
break; break;
} }
@ -655,9 +657,10 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
context->parser_state = HFP_PARSER_CMD_SEQUENCE; context->parser_state = HFP_PARSER_CMD_SEQUENCE;
context->line_buffer[context->line_size] = 0; context->line_buffer[context->line_size] = 0;
//printf("%d)\n", atoi((char *)&context->line_buffer[0])); //printf("%d)\n", atoi((char *)&context->line_buffer[0]));
context->ag_indicators[context->ag_indicators_nr].max_range = atoi((char *)context->line_buffer); context->ag_indicators[context->parser_item_index].max_range = atoi((char *)context->line_buffer);
context->line_size = 0; context->line_size = 0;
context->ag_indicators_nr++; context->parser_item_index++;
context->ag_indicators_nr = context->parser_item_index;
break; break;
} }

View File

@ -71,7 +71,7 @@ TEST_GROUP(HFPParser){
memset(packet,0, sizeof(packet)); memset(packet,0, sizeof(packet));
} }
}; };
/*
TEST(HFPParser, HFP_AG_SUPPORTED_FEATURES){ TEST(HFPParser, HFP_AG_SUPPORTED_FEATURES){
sprintf(packet, "\r\nAT%s=0000001111101111\r\n", HFP_SUPPORTED_FEATURES); sprintf(packet, "\r\nAT%s=0000001111101111\r\n", HFP_SUPPORTED_FEATURES);
for (pos = 0; pos < strlen(packet); pos++){ for (pos = 0; pos < strlen(packet); pos++){
@ -97,7 +97,7 @@ TEST(HFPParser, HFP_AG_AVAILABLE_CODECS){
TEST(HFPParser, HFP_AG_GENERIC_STATUS_INDICATOR){ TEST(HFPParser, HFP_AG_GENERIC_STATUS_INDICATOR){
sprintf(packet, "\r\nAT%s=0,1\r\n", HFP_GENERIC_STATUS_INDICATOR); sprintf(packet, "\r\nAT%s=0,1\r\n", HFP_GENERIC_STATUS_INDICATOR);
context.sent_command = HFP_CMD_GENERIC_STATUS_INDICATOR; context.sent_command = HFP_CMD_GENERIC_STATUS_INDICATOR;
for (pos = 0; pos < strlen(packet); pos++){ for (pos = 0; pos < strlen(packet); pos++){
hfp_parse(&context, packet[pos]); hfp_parse(&context, packet[pos]);
} }
@ -118,11 +118,14 @@ TEST(HFPParser, HFP_AG_ENABLE_INDICATOR_STATUS_UPDATE){
CHECK_EQUAL(HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE, context.command); CHECK_EQUAL(HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE, context.command);
CHECK_EQUAL(1, context.enable_status_update_for_ag_indicators); CHECK_EQUAL(1, context.enable_status_update_for_ag_indicators);
} }
*/
TEST(HFPParser, HFP_AG_ENABLE_INDIVIDUAL_INDICATOR_STATUS_UPDATE){ TEST(HFPParser, HFP_AG_ENABLE_INDIVIDUAL_INDICATOR_STATUS_UPDATE){
set_hfp_generic_status_indicators((hfp_generic_status_indicators_t *)&hf_indicators, hf_indicators_nr); set_hfp_generic_status_indicators((hfp_generic_status_indicators_t *)&hf_indicators, hf_indicators_nr);
context.generic_status_indicators_nr = hf_indicators_nr; context.generic_status_indicators_nr = hf_indicators_nr;
memcpy(context.generic_status_indicators, hf_indicators, hf_indicators_nr * sizeof(hfp_generic_status_indicators_t)); memcpy(context.generic_status_indicators, hf_indicators, hf_indicators_nr * sizeof(hfp_generic_status_indicators_t));
for (pos = 0; pos < hf_indicators_nr; pos++){ for (pos = 0; pos < hf_indicators_nr; pos++){
CHECK_EQUAL(get_hfp_generic_status_indicators()[pos].uuid, hf_indicators[pos].uuid); CHECK_EQUAL(get_hfp_generic_status_indicators()[pos].uuid, hf_indicators[pos].uuid);
CHECK_EQUAL(get_hfp_generic_status_indicators()[pos].state, hf_indicators[pos].state); CHECK_EQUAL(get_hfp_generic_status_indicators()[pos].state, hf_indicators[pos].state);

View File

@ -101,8 +101,7 @@ TEST(HFPParser, HFP_HF_INDICATORS){
offset += snprintf(packet+offset, sizeof(packet)-offset, "\"%s\", (%d, %d)\r\n", ag_indicators[pos].name, ag_indicators[pos].min_range, ag_indicators[pos].max_range); offset += snprintf(packet+offset, sizeof(packet)-offset, "\"%s\", (%d, %d)\r\n", ag_indicators[pos].name, ag_indicators[pos].min_range, ag_indicators[pos].max_range);
context.sent_command = HFP_CMD_INDICATOR; context.sent_command = HFP_CMD_INDICATOR;
context.ag_indicators_nr = 0;
for (pos = 0; pos < strlen(packet); pos++){ for (pos = 0; pos < strlen(packet); pos++){
hfp_parse(&context, packet[pos]); hfp_parse(&context, packet[pos]);
} }