summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2021-10-11 16:17:56 -0600
committerCommit Bot <commit-bot@chromium.org>2021-10-27 22:54:01 +0000
commitb6cb23b4764b6f53ff5100cad1d382ed6638cec5 (patch)
treefd95be56ff6f6dda393f4b8a6ee30cc80ad26f7d
parent1992def80991feba8e39796ce3e425c986d6f8ec (diff)
downloadchrome-ec-b6cb23b4764b6f53ff5100cad1d382ed6638cec5.tar.gz
zephyr: test: ln9310 bad battery register read failure path test
Tests paths when the driver fails to read from the battery register. BRANCH=none BUG=b:184856083 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Aaron Massey <aaronmassey@chromium.org> Change-Id: I3ffd1002cc7402b2db10f253eff8ce6062140a63 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3218364 Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r--zephyr/test/drivers/src/ln9310.c43
1 files changed, 41 insertions, 2 deletions
diff --git a/zephyr/test/drivers/src/ln9310.c b/zephyr/test/drivers/src/ln9310.c
index c1b9742382..25b652d834 100644
--- a/zephyr/test/drivers/src/ln9310.c
+++ b/zephyr/test/drivers/src/ln9310.c
@@ -43,7 +43,7 @@ static void test_ln9310_read_chip_fails(void)
i2c_common_emul_set_read_fail_reg(i2c_emul, LN9310_REG_BC_STS_C);
- zassert_ok(!ln9310_init(), NULL);
+ zassert_true(ln9310_init() != 0, NULL);
zassert_false(ln9310_emul_is_init(emulator), NULL);
/* TODO(b/201420132) */
@@ -281,7 +281,7 @@ static void test_ln9310_battery_unknown(void)
ln9310_emul_set_battery_cell_type(emulator, BATTERY_CELL_TYPE_UNKNOWN);
ln9310_emul_set_version(emulator, LN9310_BC_STS_C_CHIP_REV_FIXED);
- zassert_ok(!ln9310_init(), NULL);
+ zassert_true(ln9310_init() != 0, NULL);
zassert_false(ln9310_emul_is_init(emulator), NULL);
/* TODO(b/201420132) */
@@ -295,6 +295,41 @@ static void test_ln9310_battery_unknown(void)
zassert_false(ln9310_power_good(), NULL);
}
+static void test_ln9310_2s_battery_read_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);
+
+ 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_BC_STS_B);
+
+ 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);
+
+
+ ln9310_software_enable(1);
+
+ /* TODO(b/201420132) */
+ k_msleep(TEST_DELAY_MS);
+ zassert_false(ln9310_power_good(), NULL);
+
+ i2c_common_emul_set_read_fail_reg(i2c_emul,
+ I2C_COMMON_EMUL_NO_FAIL_REG);
+}
+
static void reset_ln9310_state(void)
{
ln9310_reset_to_initial_state();
@@ -304,6 +339,10 @@ void test_suite_ln9310(void)
{
ztest_test_suite(
ln9310,
+ ztest_unit_test_setup_teardown(
+ test_ln9310_2s_battery_read_fails,
+ reset_ln9310_state,
+ reset_ln9310_state),
ztest_unit_test_setup_teardown(test_ln9310_battery_unknown,
reset_ln9310_state,
reset_ln9310_state),