diff options
Diffstat (limited to 'zephyr/test/drivers/src/lis2dw12.c')
-rw-r--r-- | zephyr/test/drivers/src/lis2dw12.c | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/zephyr/test/drivers/src/lis2dw12.c b/zephyr/test/drivers/src/lis2dw12.c deleted file mode 100644 index 287430e65b..0000000000 --- a/zephyr/test/drivers/src/lis2dw12.c +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright 2021 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <ztest.h> -#include <drivers/emul.h> -#include "driver/accel_lis2dw12.h" -#include "emul/emul_common_i2c.h" -#include "emul/emul_lis2dw12.h" - -#define LIS2DW12_NODELABEL DT_NODELABEL(ms_lis2dw12_accel) -#define LIS2DW12_SENSOR_ID SENSOR_ID(LIS2DW12_NODELABEL) -#define EMUL_LABEL DT_LABEL(DT_NODELABEL(lis2dw12_emul)) - -#include <stdio.h> -static void lis2dw12_setup(void) -{ - lis2dw12_emul_reset(emul_get_binding(EMUL_LABEL)); -} - -static void test_lis2dw12_init__fail_read_who_am_i(void) -{ - const struct emul *emul = emul_get_binding(EMUL_LABEL); - struct motion_sensor_t *ms = &motion_sensors[LIS2DW12_SENSOR_ID]; - int rv; - - i2c_common_emul_set_read_fail_reg(lis2dw12_emul_to_i2c_emul(emul), - LIS2DW12_WHO_AM_I_REG); - rv = ms->drv->init(ms); - zassert_equal(EC_ERROR_INVAL, rv, NULL); -} - -static void test_lis2dw12_init__fail_who_am_i(void) -{ - const struct emul *emul = emul_get_binding(EMUL_LABEL); - struct motion_sensor_t *ms = &motion_sensors[LIS2DW12_SENSOR_ID]; - int rv; - - lis2dw12_emul_set_who_am_i(emul, ~LIS2DW12_WHO_AM_I); - - rv = ms->drv->init(ms); - zassert_equal(EC_ERROR_ACCESS_DENIED, rv, - "init returned %d but was expecting %d", rv, - EC_ERROR_ACCESS_DENIED); -} - -static void test_lis2dw12_init__fail_write_soft_reset(void) -{ - const struct emul *emul = emul_get_binding(EMUL_LABEL); - struct motion_sensor_t *ms = &motion_sensors[LIS2DW12_SENSOR_ID]; - int rv; - - i2c_common_emul_set_write_fail_reg(lis2dw12_emul_to_i2c_emul(emul), - LIS2DW12_SOFT_RESET_ADDR); - rv = ms->drv->init(ms); - zassert_equal(EC_ERROR_INVAL, rv, NULL); -} - -static void test_lis2dw12_init__timeout_read_soft_reset(void) -{ - const struct emul *emul = emul_get_binding(EMUL_LABEL); - struct motion_sensor_t *ms = &motion_sensors[LIS2DW12_SENSOR_ID]; - int rv; - - i2c_common_emul_set_read_fail_reg(lis2dw12_emul_to_i2c_emul(emul), - LIS2DW12_SOFT_RESET_ADDR); - rv = ms->drv->init(ms); - zassert_equal(EC_ERROR_TIMEOUT, rv, "init returned %d but expected %d", - rv, EC_ERROR_TIMEOUT); -} - -static int lis2dw12_test_mock_write_fail_set_bdu(struct i2c_emul *emul, int reg, - uint8_t val, int bytes, - void *data) -{ - if (reg == LIS2DW12_BDU_ADDR && bytes == 1 && - (val & LIS2DW12_BDU_MASK) != 0) { - return -EIO; - } - return 1; -} - -static void test_lis2dw12_init__fail_set_bdu(void) -{ - const struct emul *emul = emul_get_binding(EMUL_LABEL); - struct motion_sensor_t *ms = &motion_sensors[LIS2DW12_SENSOR_ID]; - int rv; - - i2c_common_emul_set_write_func(lis2dw12_emul_to_i2c_emul(emul), - lis2dw12_test_mock_write_fail_set_bdu, - NULL); - rv = ms->drv->init(ms); - zassert_equal(EC_ERROR_INVAL, rv, "init returned %d but expected %d", - rv, EC_ERROR_INVAL); - zassert_true(lis2dw12_emul_get_soft_reset_count(emul) > 0, - "expected at least one soft reset"); -} - -void test_suite_lis2dw12(void) -{ - ztest_test_suite(lis2dw12, - ztest_unit_test_setup_teardown( - test_lis2dw12_init__fail_read_who_am_i, - lis2dw12_setup, unit_test_noop), - ztest_unit_test_setup_teardown( - test_lis2dw12_init__fail_who_am_i, - lis2dw12_setup, unit_test_noop), - ztest_unit_test_setup_teardown( - test_lis2dw12_init__fail_write_soft_reset, - lis2dw12_setup, unit_test_noop), - ztest_unit_test_setup_teardown( - test_lis2dw12_init__timeout_read_soft_reset, - lis2dw12_setup, unit_test_noop), - ztest_unit_test_setup_teardown( - test_lis2dw12_init__fail_set_bdu, - lis2dw12_setup, unit_test_noop)); - ztest_run_test_suite(lis2dw12); -} |