1 #include "CppUTest/TestHarness.h"
2 #include "CppUTest/CommandLineTestRunner.h"
3
4 #include "l2cap_signaling.h"
5
TEST_GROUP(L2CAP_LE_Signaling)6 TEST_GROUP(L2CAP_LE_Signaling){
7 void setup(void){
8 }
9 void teardown(void){
10 }
11 };
12
l2cap_send_le_signaling_packet(hci_con_handle_t handle,L2CAP_SIGNALING_COMMANDS cmd,int identifier,...)13 static uint16_t l2cap_send_le_signaling_packet(hci_con_handle_t handle, L2CAP_SIGNALING_COMMANDS cmd, int identifier, ...){
14 static uint8_t acl_buffer[100];
15 va_list argptr;
16 va_start(argptr, identifier);
17 uint16_t len = l2cap_create_signaling_packet(acl_buffer, handle, 0x00, L2CAP_CID_SIGNALING_LE, cmd, identifier, argptr);
18 va_end(argptr);
19 return len;
20 }
21
22 #if 0
23 // invalid cmds trigger assert
24 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_invalid_cmd){
25 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, (L2CAP_SIGNALING_COMMANDS)(CONNECTION_PARAMETER_UPDATE_REQUEST-1), 1);
26 CHECK_EQUAL(0, size);
27 }
28
29 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_invalid_cmd_0){
30 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, (L2CAP_SIGNALING_COMMANDS)0, 1);
31 CHECK_EQUAL(0, size);
32 }
33
34 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_invalid_cmd_FF){
35 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, (L2CAP_SIGNALING_COMMANDS)0xFF, 1);
36 CHECK_EQUAL(0, size);
37 }
38 #endif
39
TEST(L2CAP_LE_Signaling,l2cap_create_signaling_le_invalid_cmd_M_format)40 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_invalid_cmd_M_format){
41 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, COMMAND_WITH_INVALID_FORMAT, 1);
42 CHECK_EQUAL(12, size);
43 }
44
TEST(L2CAP_LE_Signaling,l2cap_create_signaling_le_valid_cmd_2_format)45 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_valid_cmd_2_format){
46 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, INFORMATION_REQUEST, 1, 0);
47 CHECK_EQUAL(14, size);
48 }
49
TEST(L2CAP_LE_Signaling,l2cap_create_signaling_le_valid_cmd_C_format)50 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_valid_cmd_C_format){
51 uint16_t cids[2] = { 0x3333, 0xffff };
52 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, L2CAP_CREDIT_BASED_RECONFIGURE_REQUEST, 1, 0x1111, 0x2222, cids);
53 CHECK_EQUAL(18, size);
54 }
55
TEST(L2CAP_LE_Signaling,l2cap_create_signaling_le_valid_cmd_D_format)56 TEST(L2CAP_LE_Signaling, l2cap_create_signaling_le_valid_cmd_D_format){
57 uint16_t size = l2cap_send_le_signaling_packet((hci_con_handle_t) 0x01, ECHO_REQUEST, 1, 0, NULL);
58 CHECK_EQUAL(12, size);
59 }
60
main(int argc,const char * argv[])61 int main (int argc, const char * argv[]){
62 return CommandLineTestRunner::RunAllTests(argc, argv);
63 }
64