diff options
author | Aaron Massey <aaronmassey@google.com> | 2021-10-11 16:40:42 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-10-27 22:54:09 +0000 |
commit | f7dd1cfa0abc5fdb908385f308332713d10b031a (patch) | |
tree | 7576715de149468db7d3ea742953cb85b6e59d7e | |
parent | b6cb23b4764b6f53ff5100cad1d382ed6638cec5 (diff) | |
download | chrome-ec-f7dd1cfa0abc5fdb908385f308332713d10b031a.tar.gz |
zephyr: test: ln9310 lion ctrl reg failure paths
Verifies that failure paths related to errors in reading the
LN9310_REG_LION_CTRL register are appropriately handled by the
ln9310 driver.
BRANCH=none
BUG=b:184856083
TEST=zmake configure --test zephyr/test/drivers
Signed-off-by: Aaron Massey <aaronmassey@chromium.org>
Change-Id: Ib2f4b598c33b4a8557311bad406f96bff60d7c4b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3218365
Commit-Queue: Aaron Massey <aaronmassey@google.com>
Tested-by: Aaron Massey <aaronmassey@google.com>
Reviewed-by: Yuval Peress <peress@google.com>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
-rw-r--r-- | zephyr/test/drivers/src/ln9310.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/zephyr/test/drivers/src/ln9310.c b/zephyr/test/drivers/src/ln9310.c index 25b652d834..d2c219a902 100644 --- a/zephyr/test/drivers/src/ln9310.c +++ b/zephyr/test/drivers/src/ln9310.c @@ -318,12 +318,35 @@ static void test_ln9310_2s_battery_read_fails(void) /* TODO(b/201420132) */ k_msleep(TEST_DELAY_MS); zassert_false(ln9310_power_good(), NULL); +} +static void test_ln9310_lion_ctrl_reg_fails(void) +{ + const struct emul *emulator = + emul_get_binding(DT_LABEL(DT_NODELABEL(ln9310))); + struct i2c_emul *i2c_emul = ln9310_emul_get_i2c_emul(emulator); - ln9310_software_enable(1); + zassert_not_null(emulator, NULL); + zassert_not_null(i2c_emul, NULL); + + ln9310_emul_set_context(emulator); + ln9310_emul_reset(emulator); + /* Battery won't matter here so only testing one version */ + ln9310_emul_set_battery_cell_type(emulator, BATTERY_CELL_TYPE_2S); + ln9310_emul_set_version(emulator, LN9310_BC_STS_C_CHIP_REV_FIXED); + + i2c_common_emul_set_read_fail_reg(i2c_emul, LN9310_REG_LION_CTRL); + + zassert_true(ln9310_init() != 0, NULL); + zassert_false(ln9310_emul_is_init(emulator), NULL); + + /* TODO(b/201420132) */ + k_msleep(TEST_DELAY_MS); + zassert_false(ln9310_power_good(), NULL); /* TODO(b/201420132) */ k_msleep(TEST_DELAY_MS); + ln9310_software_enable(1); zassert_false(ln9310_power_good(), NULL); i2c_common_emul_set_read_fail_reg(i2c_emul, @@ -339,6 +362,9 @@ void test_suite_ln9310(void) { ztest_test_suite( ln9310, + ztest_unit_test_setup_teardown(test_ln9310_lion_ctrl_reg_fails, + reset_ln9310_state, + reset_ln9310_state), ztest_unit_test_setup_teardown( test_ln9310_2s_battery_read_fails, reset_ln9310_state, |