summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2021-10-11 16:40:42 -0600
committerCommit Bot <commit-bot@chromium.org>2021-10-27 22:54:09 +0000
commitf7dd1cfa0abc5fdb908385f308332713d10b031a (patch)
tree7576715de149468db7d3ea742953cb85b6e59d7e
parentb6cb23b4764b6f53ff5100cad1d382ed6638cec5 (diff)
downloadchrome-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.c28
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,