tests: drivers: can: move min/max timing tests to API test suite

Move the test for setting the minimum/maximum supported timing parameters
from the CAN timing tests to the CAN API tests as these are validating
basic API behavior.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2024-03-12 13:45:35 +01:00 committed by Henrik Brix Andersen
parent 62ac753a61
commit 8ccccbbb88
3 changed files with 68 additions and 64 deletions

View file

@ -375,6 +375,40 @@ ZTEST_USER(canfd, test_filters_preserved_through_fd_to_classic_mode_change)
check_filters_preserved_between_modes(CAN_MODE_FD, CAN_MODE_NORMAL);
}
/**
* @brief Test that the minimum timing values for the data phase can be set.
*/
ZTEST_USER(canfd, test_set_timing_data_min)
{
int err;
err = can_stop(can_dev);
zassert_equal(err, 0, "failed to stop CAN controller (err %d)", err);
err = can_set_timing_data(can_dev, can_get_timing_data_min(can_dev));
zassert_equal(err, 0, "failed to set minimum timing data parameters (err %d)", err);
err = can_start(can_dev);
zassert_equal(err, 0, "failed to start CAN controller (err %d)", err);
}
/**
* @brief Test that the maximum timing values for the data phase can be set.
*/
ZTEST_USER(canfd, test_set_timing_data_max)
{
int err;
err = can_stop(can_dev);
zassert_equal(err, 0, "failed to stop CAN controller (err %d)", err);
err = can_set_timing_data(can_dev, can_get_timing_data_max(can_dev));
zassert_equal(err, 0, "failed to set maximum timing data parameters (err %d)", err);
err = can_start(can_dev);
zassert_equal(err, 0, "failed to start CAN controller (err %d)", err);
}
/**
* @brief Test setting data phase bitrate is not allowed while started.
*/

View file

@ -540,6 +540,40 @@ ZTEST_USER(can_classic, test_set_bitrate)
zassert_equal(err, 0, "failed to start CAN controller (err %d)", err);
}
/**
* @brief Test that the minimum timing values can be set.
*/
ZTEST_USER(can_classic, test_set_timing_min)
{
int err;
err = can_stop(can_dev);
zassert_equal(err, 0, "failed to stop CAN controller (err %d)", err);
err = can_set_timing(can_dev, can_get_timing_min(can_dev));
zassert_equal(err, 0, "failed to set minimum timing parameters (err %d)", err);
err = can_start(can_dev);
zassert_equal(err, 0, "failed to start CAN controller (err %d)", err);
}
/**
* @brief Test that the maximum timing values can be set.
*/
ZTEST_USER(can_classic, test_set_timing_max)
{
int err;
err = can_stop(can_dev);
zassert_equal(err, 0, "failed to stop CAN controller (err %d)", err);
err = can_set_timing(can_dev, can_get_timing_max(can_dev));
zassert_equal(err, 0, "failed to set maximum timing parameters (err %d)", err);
err = can_start(can_dev);
zassert_equal(err, 0, "failed to start CAN controller (err %d)", err);
}
/**
* @brief Test sending a message with no filters installed.
*

View file

@ -244,70 +244,6 @@ ZTEST_USER(can_timing, test_timing_data)
}
}
/**
* @brief Test that the minimum timing values can be set.
*/
ZTEST_USER(can_timing, test_set_timing_min)
{
const struct device *const dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_canbus));
int err;
err = can_set_timing(dev, can_get_timing_min(dev));
zassert_equal(err, 0, "failed to set minimum timing parameters (err %d)", err);
}
/**
* @brief Test that the minimum timing values for the data phase can be set.
*/
ZTEST_USER(can_timing, test_set_timing_data_min)
{
const struct device *const dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_canbus));
can_mode_t cap;
int err;
err = can_get_capabilities(dev, &cap);
zassert_equal(err, 0, "failed to get CAN controller capabilities (err %d)", err);
if ((cap & CAN_MODE_FD) == 0) {
ztest_test_skip();
}
err = can_set_timing_data(dev, can_get_timing_data_min(dev));
zassert_equal(err, 0, "failed to set minimum timing data parameters (err %d)", err);
}
/**
* @brief Test that the maximum timing values can be set.
*/
ZTEST_USER(can_timing, test_set_timing_max)
{
const struct device *const dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_canbus));
int err;
err = can_set_timing(dev, can_get_timing_max(dev));
zassert_equal(err, 0, "failed to set maximum timing parameters (err %d)", err);
}
/**
* @brief Test that the maximum timing values for the data phase can be set.
*/
ZTEST_USER(can_timing, test_set_timing_data_max)
{
const struct device *const dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_canbus));
can_mode_t cap;
int err;
err = can_get_capabilities(dev, &cap);
zassert_equal(err, 0, "failed to get CAN controller capabilities (err %d)", err);
if ((cap & CAN_MODE_FD) == 0) {
ztest_test_skip();
}
err = can_set_timing_data(dev, can_get_timing_data_max(dev));
zassert_equal(err, 0, "failed to set maximum timing data parameters (err %d)", err);
}
void *can_timing_setup(void)
{
const struct device *const dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_canbus));