test/sdp: fix sdp_record_builder and add to test suite

This commit is contained in:
Matthias Ringwald 2019-09-18 17:42:10 +02:00
parent d491c1ea62
commit 9ccd94f81e
2 changed files with 8 additions and 30 deletions

View File

@ -19,6 +19,7 @@ SUBDIRS = \
mesh \ mesh \
obex \ obex \
ring_buffer \ ring_buffer \
sdp \
sdp_client \ sdp_client \
security_manager \ security_manager \
tlv_posix \ tlv_posix \
@ -26,7 +27,6 @@ SUBDIRS = \
# test fails # test fails
# map_test \ # map_test \
# sdp \
# not unit-tests # not unit-tests
# map_client \ # map_client \

View File

@ -150,11 +150,10 @@ static const char * default_avrcp_target_service_provider_name = "BTstack AVRCP
#define AVRCP_TARGET_RECORD_SIZE_MIN 84 #define AVRCP_TARGET_RECORD_SIZE_MIN 84
static uint16_t avrcp_target_record_size(int browsing, const char * service_name, const char * service_provider_name){ static uint16_t avrcp_target_record_size(const char * service_name, const char * service_provider_name){
int service_name_len = service_name ? strlen(service_name) : strlen(default_avrcp_target_service_name); int service_name_len = service_name ? strlen(service_name) : strlen(default_avrcp_target_service_name);
int service_provider_name_len = service_provider_name ? strlen(service_provider_name) : strlen(default_avrcp_target_service_provider_name); int service_provider_name_len = service_provider_name ? strlen(service_provider_name) : strlen(default_avrcp_target_service_provider_name);
int browsing_len = browsing ? 27 : 0; return AVRCP_TARGET_RECORD_SIZE_MIN + service_name_len + service_provider_name_len;
return AVRCP_TARGET_RECORD_SIZE_MIN + service_name_len + service_provider_name_len + browsing_len;
} }
TEST(SDPRecordBuilder, AVRCP_TARGET){ TEST(SDPRecordBuilder, AVRCP_TARGET){
@ -162,21 +161,11 @@ TEST(SDPRecordBuilder, AVRCP_TARGET){
const char * service_provider_name; const char * service_provider_name;
int expected_len; int expected_len;
int descriptor_size; int descriptor_size;
int browsing ;
browsing = 0;
service_name = ""; service_name = "";
service_provider_name = ""; service_provider_name = "";
descriptor_size = 0; descriptor_size = 0;
expected_len = avrcp_target_record_size(browsing, service_name, service_provider_name); expected_len = avrcp_target_record_size(service_name, service_provider_name);
avrcp_target_create_sdp_record(service_buffer, 0, 0, service_name, service_provider_name);
CHECK_EQUAL(de_get_len(service_buffer), expected_len);
browsing = 1;
service_name = "";
service_provider_name = "";
descriptor_size = 0;
expected_len = avrcp_target_record_size(browsing, service_name, service_provider_name);
avrcp_target_create_sdp_record(service_buffer, 0, 0, service_name, service_provider_name); avrcp_target_create_sdp_record(service_buffer, 0, 0, service_name, service_provider_name);
CHECK_EQUAL(de_get_len(service_buffer), expected_len); CHECK_EQUAL(de_get_len(service_buffer), expected_len);
} }
@ -190,11 +179,10 @@ static const char * default_avrcp_controller_service_provider_name = "BTstack AV
#define AVRCP_CONTROLLER_RECORD_SIZE_MIN 87 #define AVRCP_CONTROLLER_RECORD_SIZE_MIN 87
static uint16_t avrcp_controller_record_size(int browsing, const char * service_name, const char * service_provider_name){ static uint16_t avrcp_controller_record_size(const char * service_name, const char * service_provider_name){
int service_name_len = service_name ? strlen(service_name) : strlen(default_avrcp_controller_service_name); int service_name_len = service_name ? strlen(service_name) : strlen(default_avrcp_controller_service_name);
int service_provider_name_len = service_provider_name ? strlen(service_provider_name) : strlen(default_avrcp_controller_service_provider_name); int service_provider_name_len = service_provider_name ? strlen(service_provider_name) : strlen(default_avrcp_controller_service_provider_name);
int browsing_len = browsing ? 27 : 0; return AVRCP_CONTROLLER_RECORD_SIZE_MIN + service_name_len + service_provider_name_len;
return AVRCP_CONTROLLER_RECORD_SIZE_MIN + service_name_len + service_provider_name_len + browsing_len;
} }
TEST(SDPRecordBuilder, AVRCP_CONTROLLER){ TEST(SDPRecordBuilder, AVRCP_CONTROLLER){
@ -202,21 +190,11 @@ TEST(SDPRecordBuilder, AVRCP_CONTROLLER){
const char * service_provider_name; const char * service_provider_name;
int expected_len; int expected_len;
int descriptor_size; int descriptor_size;
int browsing ;
browsing = 0;
service_name = ""; service_name = "";
service_provider_name = ""; service_provider_name = "";
descriptor_size = 0; descriptor_size = 0;
expected_len = avrcp_controller_record_size(browsing, service_name, service_provider_name); expected_len = avrcp_controller_record_size(service_name, service_provider_name);
avrcp_controller_create_sdp_record(service_buffer, 0, 0, service_name, service_provider_name);
CHECK_EQUAL(de_get_len(service_buffer), expected_len);
browsing = 1;
service_name = "";
service_provider_name = "";
descriptor_size = 0;
expected_len = avrcp_controller_record_size(browsing, service_name, service_provider_name);
avrcp_controller_create_sdp_record(service_buffer, 0, 0, service_name, service_provider_name); avrcp_controller_create_sdp_record(service_buffer, 0, 0, service_name, service_provider_name);
CHECK_EQUAL(de_get_len(service_buffer), expected_len); CHECK_EQUAL(de_get_len(service_buffer), expected_len);
} }
@ -225,7 +203,7 @@ TEST(SDPRecordBuilder, AVRCP_CONTROLLER){
// hid_device.h // hid_device.h
// //
#define HID_DEVICE_RECORD_SIZE_MIN 153 #define HID_DEVICE_RECORD_SIZE_MIN 164
static uint16_t hid_device_record_size(uint16_t descriptor_size, const char * name){ static uint16_t hid_device_record_size(uint16_t descriptor_size, const char * name){
return HID_DEVICE_RECORD_SIZE_MIN + descriptor_size + strlen(name); return HID_DEVICE_RECORD_SIZE_MIN + descriptor_size + strlen(name);