Skip to content

Commit

Permalink
fixup! drivers: can: remove run-time RTR filtering, add build-time RT…
Browse files Browse the repository at this point in the history
…R filter
  • Loading branch information
henrikbrixandersen committed Jan 15, 2024
1 parent fb374fe commit a422b39
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions tests/drivers/can/api/src/classic.c
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,14 @@ void send_receive_rtr(const struct can_filter *filter,
zassert_true(filter_id >= 0, "negative filter number");

/* Verify that filter matches RTR frame */
send_test_frame(can_dev, rtr_frame);
err = can_send(can_dev, rtr_frame, TEST_SEND_TIMEOUT, NULL, NULL);
if (err == -ENOTSUP) {
/* Not all drivers support transmission of RTR frames */
can_remove_rx_filter(can_dev, filter_id);
ztest_test_skip();
}
zassert_equal(err, 0, "failed to send RTR frame (err %d)", err);

err = k_msgq_get(&can_msgq, &frame, TEST_RECEIVE_TIMEOUT);
zassert_equal(err, 0, "receive timeout");
assert_frame_equal(&frame, rtr_frame, 0);
Expand Down Expand Up @@ -752,7 +759,14 @@ ZTEST_USER(can_classic, test_reject_std_id_rtr)
Z_TEST_SKIP_IFDEF(CONFIG_CAN_ACCEPT_RTR);

filter_id = add_rx_msgq(can_dev, &test_std_filter_1);
send_test_frame(can_dev, &test_std_rtr_frame_1);

err = can_send(can_dev, &test_std_rtr_frame_1, TEST_SEND_TIMEOUT, NULL, NULL);
if (err == -ENOTSUP) {
/* Not all drivers support transmission of RTR frames */
can_remove_rx_filter(can_dev, filter_id);
ztest_test_skip();
}
zassert_equal(err, 0, "failed to send RTR frame (err %d)", err);

err = k_msgq_get(&can_msgq, &frame_buffer, TEST_RECEIVE_TIMEOUT);
zassert_equal(err, -EAGAIN, "received a frame that should be rejected");
Expand All @@ -772,7 +786,14 @@ ZTEST_USER(can_classic, test_reject_ext_id_rtr)
Z_TEST_SKIP_IFDEF(CONFIG_CAN_ACCEPT_RTR);

filter_id = add_rx_msgq(can_dev, &test_ext_filter_1);
send_test_frame(can_dev, &test_ext_rtr_frame_1);

err = can_send(can_dev, &test_ext_rtr_frame_1, TEST_SEND_TIMEOUT, NULL, NULL);
if (err == -ENOTSUP) {
/* Not all drivers support transmission of RTR frames */
can_remove_rx_filter(can_dev, filter_id);
ztest_test_skip();
}
zassert_equal(err, 0, "failed to send RTR frame (err %d)", err);

err = k_msgq_get(&can_msgq, &frame_buffer, TEST_RECEIVE_TIMEOUT);
zassert_equal(err, -EAGAIN, "received a frame that should be rejected");
Expand Down

0 comments on commit a422b39

Please sign in to comment.