summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Honscheid <honscheid@google.com>2021-10-04 16:10:05 -0600
committerCommit Bot <commit-bot@chromium.org>2021-10-06 23:10:30 +0000
commitd2fade7530ba52e588f5dfda6a28133823d28814 (patch)
tree59f1616357d278f95a62ba049d47fd5e5948486b
parentd176f0270c4dbcf1c81ae97bf2fac44d38dd4ed5 (diff)
downloadchrome-ec-d2fade7530ba52e588f5dfda6a28133823d28814.tar.gz
zephyr: Add tests for `st_set_offset()` and `st_get_offset()`
Add tests for `st_set_offset()` and `st_get_offset()`. BUG=b:200589041 BRANCH=None TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I63f7ab11caac8731a34349c7fa23abac6603ac45 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3203593 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
-rw-r--r--zephyr/test/drivers/src/stm_mems_common.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/stm_mems_common.c b/zephyr/test/drivers/src/stm_mems_common.c
index 8ae5d860bf..f1fcf6c9f2 100644
--- a/zephyr/test/drivers/src/stm_mems_common.c
+++ b/zephyr/test/drivers/src/stm_mems_common.c
@@ -190,6 +190,62 @@ static void test_st_get_resolution(void)
expected_resolution);
}
+static void test_st_set_offset(void)
+{
+ int16_t expected_offset[3] = { 123, 456, 789 };
+
+ struct stprivate_data driver_data;
+ const struct motion_sensor_t sensor = {
+ .drv_data = &driver_data,
+ };
+
+ int rv = st_set_offset(&sensor, expected_offset, 0);
+
+ zassert_equal(rv, EC_SUCCESS, "rv as %d but expected %d", rv,
+ EC_SUCCESS);
+ zassert_equal(driver_data.offset[X], expected_offset[X],
+ "X offset is %d but expected %d", driver_data.offset[X],
+ expected_offset[X]);
+ zassert_equal(driver_data.offset[Y], expected_offset[Y],
+ "Y offset is %d but expected %d", driver_data.offset[Y],
+ expected_offset[Y]);
+ zassert_equal(driver_data.offset[Z], expected_offset[Z],
+ "Z offset is %d but expected %d", driver_data.offset[Z],
+ expected_offset[Z]);
+}
+
+static void test_st_get_offset(void)
+{
+ struct stprivate_data driver_data = {
+ .offset = { [X] = 123, [Y] = 456, [Z] = 789 },
+ };
+ const struct motion_sensor_t sensor = {
+ .drv_data = &driver_data,
+ };
+
+ int16_t temp_out = 0;
+ int16_t actual_offset[3] = { 0, 0, 0 };
+
+ int rv = st_get_offset(&sensor, actual_offset, &temp_out);
+
+ zassert_equal(rv, EC_SUCCESS, "rv as %d but expected %d", rv,
+ EC_SUCCESS);
+ zassert_equal(
+ temp_out, (int16_t)EC_MOTION_SENSE_INVALID_CALIB_TEMP,
+ "temp is %d but should be %d (EC_MOTION_SENSE_INVALID_CALIB_TEMP)",
+ temp_out, (int16_t)EC_MOTION_SENSE_INVALID_CALIB_TEMP);
+
+ zassert_equal(actual_offset[X], driver_data.offset[X],
+ "X offset is %d but expected %d", actual_offset[X],
+ driver_data.offset[X]);
+ zassert_equal(actual_offset[Y], driver_data.offset[Y],
+ "Y offset is %d but expected %d", actual_offset[Y],
+ driver_data.offset[Y]);
+ zassert_equal(actual_offset[Z], driver_data.offset[Z],
+ "Z offset is %d but expected %d", actual_offset[Z],
+ driver_data.offset[Z]);
+}
+
static void test_st_get_data_rate(void)
{
int expected_data_rate = 456;
@@ -221,6 +277,8 @@ void test_suite_stm_mems_common(void)
ztest_unit_test_setup_teardown(test_st_write_data_with_mask,
setup, unit_test_noop),
ztest_unit_test(test_st_get_resolution),
+ ztest_unit_test(test_st_set_offset),
+ ztest_unit_test(test_st_get_offset),
ztest_unit_test(test_st_get_data_rate));
ztest_run_test_suite(stm_mems_common);
}