X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Ftest_send.c;h=f5037536020d047296b4e21ce912d8a9e036be09;hb=bc7c0205d8dd7550060f6f0bbe8e2064d28ace8c;hp=144e040ff7e3119e321174cda78a200b846f87fa;hpb=34a7c0ca08683eb83d6b6b3d5a6a8fb2f7d5b918;p=apps%2Flow-level-can-service.git diff --git a/tests/test_send.c b/tests/test_send.c index 144e040..f503753 100644 --- a/tests/test_send.c +++ b/tests/test_send.c @@ -9,7 +9,7 @@ extern IsoTpShims SHIMS; extern IsoTpHandler ISOTP_HANDLER; extern uint16_t last_can_frame_sent_arb_id; -extern uint8_t last_can_payload_sent; +extern uint8_t last_can_payload_sent[8]; extern uint8_t last_can_payload_size; extern bool can_frame_was_sent; @@ -25,15 +25,48 @@ extern uint8_t last_message_sent_payload_size; extern void setup(); +START_TEST (test_send_empty_payload) +{ + fail_unless(isotp_send(&ISOTP_HANDLER, NULL, 0)); + ck_assert_int_eq(last_message_sent_arb_id, ISOTP_HANDLER.arbitration_id); + fail_unless(last_message_sent_status); + ck_assert_int_eq(last_message_sent_payload[0], NULL); + ck_assert_int_eq(last_message_sent_payload_size, 0); + + ck_assert_int_eq(last_can_frame_sent_arb_id, ISOTP_HANDLER.arbitration_id); + fail_unless(can_frame_was_sent); + ck_assert_int_eq(last_can_payload_sent[0], 0x0); + ck_assert_int_eq(last_can_payload_size, 1); +} +END_TEST + START_TEST (test_send_single_frame) { - fail_if(true); + const uint8_t payload[] = {0x12, 0x34}; + fail_unless(isotp_send(&ISOTP_HANDLER, &payload, sizeof(payload))); + ck_assert_int_eq(last_message_sent_arb_id, ISOTP_HANDLER.arbitration_id); + fail_unless(last_message_sent_status); + ck_assert_int_eq(last_message_sent_payload[0], 0x12); + ck_assert_int_eq(last_message_sent_payload[1], 0x34); + ck_assert_int_eq(last_message_sent_payload_size, 2); + + ck_assert_int_eq(last_can_frame_sent_arb_id, ISOTP_HANDLER.arbitration_id); + fail_unless(can_frame_was_sent); + ck_assert_int_eq(last_can_payload_sent[0], 0x2); + ck_assert_int_eq(last_can_payload_sent[1], 0x12); + ck_assert_int_eq(last_can_payload_sent[2], 0x34); + ck_assert_int_eq(last_can_payload_size, 3); } END_TEST START_TEST (test_send_multi_frame) { - fail_if(true); + const uint8_t payload[] = {0x12, 0x34, 0x56, 0x78, 0x90, 0x01, 0x23, + 0x45, 0x67, 0x89}; + bool status = isotp_send(&ISOTP_HANDLER, &payload, sizeof(payload)); + fail_if(status); + fail_if(last_message_sent_status); + fail_if(can_frame_was_sent); } END_TEST @@ -41,6 +74,7 @@ Suite* testSuite(void) { Suite* s = suite_create("iso15765"); TCase *tc_core = tcase_create("send"); tcase_add_checked_fixture(tc_core, setup, NULL); + tcase_add_test(tc_core, test_send_empty_payload); tcase_add_test(tc_core, test_send_single_frame); tcase_add_test(tc_core, test_send_multi_frame); suite_add_tcase(s, tc_core);