Test rx an empty CAN messages.

This commit is contained in:
Christopher Peplin 2014-01-03 13:21:18 -05:00
parent 9c92fe46b5
commit 99dd20fc3d
2 changed files with 14 additions and 0 deletions

View File

@ -56,6 +56,9 @@ IsoTpMessage isotp_receive_can_frame(IsoTpShims* shims, IsoTpHandle* handle,
return message;
}
} else if(handle->type == ISOTP_HANDLE_SENDING) {
// TODO this will need to be tested when we add multi-frame support,
// which is when it'll be necessary to pass in CAN messages to SENDING
// handles.
if(handle->send_handle.receiving_arbitration_id != arbitration_id) {
if(shims->log != NULL) {
shims->log("The arb ID 0x%x doesn't match the expected tx continuation ID 0x%x",

View File

@ -25,6 +25,16 @@ extern uint8_t last_message_sent_payload_size;
extern void setup();
START_TEST (test_receive_empty_can_message)
{
const uint8_t data[CAN_MESSAGE_BYTE_SIZE] = {0};
fail_if(HANDLE.completed);
IsoTpMessage message = isotp_receive_can_frame(&SHIMS, &HANDLE, 0x100, data, 0);
fail_if(message.completed);
fail_if(message_was_received);
}
END_TEST
START_TEST (test_receive_wrong_id)
{
const uint8_t data[CAN_MESSAGE_BYTE_SIZE] = {0};
@ -79,6 +89,7 @@ Suite* testSuite(void) {
tcase_add_test(tc_core, test_receive_bad_pci);
tcase_add_test(tc_core, test_receive_single_frame);
tcase_add_test(tc_core, test_receive_single_frame_empty_payload);
tcase_add_test(tc_core, test_receive_empty_can_message);
suite_add_tcase(s, tc_core);
return s;