mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-18 05:42:49 +00:00
quick test for advertismenet contains name
This commit is contained in:
parent
2534e7f557
commit
6a64d4ac7c
@ -70,6 +70,7 @@ typedef struct ad_event {
|
|||||||
} ad_event_t;
|
} ad_event_t;
|
||||||
|
|
||||||
static uint8_t ad_data[] = {0x02, 0x01, 0x05, 0x03, 0x02, 0xF0, 0xFF};
|
static uint8_t ad_data[] = {0x02, 0x01, 0x05, 0x03, 0x02, 0xF0, 0xFF};
|
||||||
|
static uint8_t adv_data_2[] = { 8, 0x09, 'B', 'T', 's', 't', 'a', 'c', 'k' };
|
||||||
|
|
||||||
static uint8_t mtk_adv_evt[] = {
|
static uint8_t mtk_adv_evt[] = {
|
||||||
0x3e, 0x3b, 0x02, 0x03, 0x04, 0x01, 0x55, 0x05, 0x67, 0x5c, 0xc2, 0x4f, 0x00,
|
0x3e, 0x3b, 0x02, 0x03, 0x04, 0x01, 0x55, 0x05, 0x67, 0x5c, 0xc2, 0x4f, 0x00,
|
||||||
@ -139,6 +140,26 @@ void packet_handler(uint8_t packet_type, uint8_t *packet, uint16_t size){
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool nameHasPrefix(const char * name_prefix, uint16_t data_length, uint8_t * data){
|
||||||
|
ad_context_t context;
|
||||||
|
int name_prefix_len = strlen(name_prefix);
|
||||||
|
for (ad_iterator_init(&context, data_length, data) ; ad_iterator_has_more(&context) ; ad_iterator_next(&context)){
|
||||||
|
uint8_t data_type = ad_iterator_get_data_type(&context);
|
||||||
|
uint8_t data_len = ad_iterator_get_data_len(&context);
|
||||||
|
uint8_t * data = ad_iterator_get_data(&context);
|
||||||
|
int compare_len = name_prefix_len;
|
||||||
|
switch(data_type){
|
||||||
|
case 8: // shortented local name
|
||||||
|
case 9: // complete local name
|
||||||
|
if (compare_len > data_len) compare_len = data_len;
|
||||||
|
if (strncmp(name_prefix, (const char*) data, compare_len) == 0) return true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
TEST_GROUP(ADParser){
|
TEST_GROUP(ADParser){
|
||||||
void setup(void){
|
void setup(void){
|
||||||
@ -147,7 +168,11 @@ TEST_GROUP(ADParser){
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
TEST(ADParser, TestNamePrefix){
|
||||||
|
CHECK(nameHasPrefix("BTstack", sizeof(adv_data_2), adv_data_2));
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
TEST(ADParser, TestDataParsing){
|
TEST(ADParser, TestDataParsing){
|
||||||
ad_context_t context;
|
ad_context_t context;
|
||||||
uint8_t expected_len[] = {1, 2};
|
uint8_t expected_len[] = {1, 2};
|
||||||
@ -173,6 +198,7 @@ TEST(ADParser, TestDataParsing){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST(ADParser, TestFixMtkAdvertisingReport){
|
TEST(ADParser, TestFixMtkAdvertisingReport){
|
||||||
// fix_mtk_advertisement_report(mtk_adv_evt, sizeof(mtk_adv_evt));
|
// fix_mtk_advertisement_report(mtk_adv_evt, sizeof(mtk_adv_evt));
|
||||||
int j;
|
int j;
|
||||||
@ -192,6 +218,7 @@ TEST(ADParser, TestFixMtkNumCompletedPackets){
|
|||||||
TEST(ADParser, TestAdvertisementEventMultipleReports){
|
TEST(ADParser, TestAdvertisementEventMultipleReports){
|
||||||
le_handle_advertisement_report(adv_evt, sizeof(adv_evt));
|
le_handle_advertisement_report(adv_evt, sizeof(adv_evt));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int main (int argc, const char * argv[]){
|
int main (int argc, const char * argv[]){
|
||||||
return CommandLineTestRunner::RunAllTests(argc, argv);
|
return CommandLineTestRunner::RunAllTests(argc, argv);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user