1 #include "CppUTest/TestHarness.h"
2 #include "CppUTest/CommandLineTestRunner.h"
3
4 #include "hci_event.h"
5 #include "btstack_util.h"
6
7 uint8_t hci_event_buffer[257];
8 hci_event_t event_1 = { 1, 0, "1"};
9 hci_event_t event_2 = { 1, 0, "2"};
10 hci_event_t event_3 = { 1, 0, "3"};
11 hci_event_t event_4 = { 1, 0, "4"};
12
create_hci_event(const hci_event_t * event,...)13 static uint16_t create_hci_event(const hci_event_t *event, ...){
14 va_list argptr;
15 va_start(argptr, event);
16 uint16_t len = hci_event_create_from_template_and_arglist(hci_event_buffer, sizeof(hci_event_buffer), event, argptr);
17 va_end(argptr);
18 return len - 2;
19 }
20
TEST_GROUP(hci_event)21 TEST_GROUP(hci_event){
22 void setup(void){
23 }
24 void teardown(void){
25 }
26 };
27
TEST(hci_event,format_1)28 TEST(hci_event, format_1){
29 const uint8_t expected_buffer[] = { 0x55};
30 uint8_t value = 0x55;
31 uint16_t size = create_hci_event(&event_1, value);
32 CHECK_EQUAL(sizeof(expected_buffer), size);
33 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer));
34 }
35
TEST(hci_event,format_2)36 TEST(hci_event, format_2){
37 const uint8_t expected_buffer[] = { 0x34, 0x12 };
38 uint16_t value = 0x1234;
39 uint16_t size = create_hci_event(&event_2, value);
40 CHECK_EQUAL(sizeof(expected_buffer), size);
41 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer));
42 }
43
TEST(hci_event,format_3)44 TEST(hci_event, format_3){
45 const uint8_t expected_buffer[] = { 0x56, 0x34, 0x12};
46 uint32_t value = 0x123456;
47 uint16_t size = create_hci_event(&event_3, value);
48 CHECK_EQUAL(sizeof(expected_buffer), size);
49 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer));
50 }
51
TEST(hci_event,format_4)52 TEST(hci_event, format_4){
53 const uint8_t expected_buffer[] = { 0x78, 0x56, 0x34, 0x12};
54 uint32_t value = 0x12345678;
55 uint16_t size = create_hci_event(&event_4, value);
56 CHECK_EQUAL(sizeof(expected_buffer), size);
57 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer));
58 }
59
main(int argc,const char * argv[])60 int main (int argc, const char * argv[]){
61 return CommandLineTestRunner::RunAllTests(argc, argv);
62 }
63