tes/embedded: add tests for l2cap_signaling

This commit is contained in:
Milanka Ringwald 2021-06-16 12:59:32 +02:00
parent 15f09267f5
commit c9f0088dec
2 changed files with 48 additions and 3 deletions

View File

@ -30,6 +30,7 @@ COMMON = \
btstack_run_loop_embedded.c \
btstack_util.c \
hci_dump.c \
l2cap_signaling.c \
# not used yet
# btstack_em9304_spi_embedded.c \

View File

@ -27,6 +27,7 @@
#include "btstack_run_loop_embedded.h"
#include "btstack_memory.h"
#include "btstack_debug.h"
#include "l2cap_signaling.h"
// quick mock
@ -337,9 +338,6 @@ TEST(BTstackUtil, reverse_bytes){
for (i = 0; i < sizeof(src); i++){
src[i] = i + 1;
}
#ifdef ENABLE_PRINTF_HEXDUMP
printf_hexdump(src, 32);
#endif
memset(buffer, 0, sizeof(buffer));
reverse_bytes(src, buffer, sizeof(buffer));
@ -508,6 +506,52 @@ TEST(BTstackUtil, crc8){
CHECK_EQUAL(1, btstack_crc8_check(data, sizeof(data), 74));
}
TEST_GROUP(L2CAPSignaling){
void setup(void){
}
void teardown(void){
}
};
static uint16_t l2cap_send_le_signaling_packet(hci_con_handle_t handle, L2CAP_SIGNALING_COMMANDS cmd, int identifier, ...){
static uint8_t acl_buffer[100];
va_list argptr;
va_start(argptr, identifier);
uint16_t len = l2cap_create_signaling_le(acl_buffer, handle, cmd, identifier, argptr);
va_end(argptr);
return len;
}
TEST(L2CAPSignaling, l2cap_create_signaling_le_invalid_cmd){
uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, (L2CAP_SIGNALING_COMMANDS)(CONNECTION_PARAMETER_UPDATE_REQUEST-1), 1);
CHECK_EQUAL(0, size);
}
TEST(L2CAPSignaling, l2cap_create_signaling_le_invalid_cmd_0){
uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, (L2CAP_SIGNALING_COMMANDS)0, 1);
CHECK_EQUAL(0, size);
}
TEST(L2CAPSignaling, l2cap_create_signaling_le_invalid_cmd_FF){
uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, (L2CAP_SIGNALING_COMMANDS)0xFF, 1);
CHECK_EQUAL(0, size);
}
TEST(L2CAPSignaling, l2cap_create_signaling_le_invalid_cmd_M_format){
uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, COMMAND_WITH_INVALID_FORMAT, 1);
CHECK_EQUAL(12, size);
}
TEST(L2CAPSignaling, l2cap_create_signaling_le_valid_cmd_2_format){
uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, INFORMATION_REQUEST, 1, 0);
CHECK_EQUAL(14, size);
}
TEST(L2CAPSignaling, l2cap_create_signaling_le_valid_cmd_D_format){
uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, ECHO_REQUEST, 1, 0, NULL);
CHECK_EQUAL(12, size);
}
int main (int argc, const char * argv[]){
return CommandLineTestRunner::RunAllTests(argc, argv);
}