summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2021-10-11 15:55:26 -0600
committerCommit Bot <commit-bot@chromium.org>2021-10-27 22:53:54 +0000
commit1992def80991feba8e39796ce3e425c986d6f8ec (patch)
tree9d6c80f56846b730cf6def5c6111d68bf6cb97cb
parent0a9ed9b8caf31da36f44479fb2cb43021f144818 (diff)
downloadchrome-ec-1992def80991feba8e39796ce3e425c986d6f8ec.tar.gz
zephyr: test: ln9310 fails to init and start with unknown battery
When the ln9310 cannot identify the battery it fails during initialization and does not power up after software_enable() BRANCH=none BUG=b:184856083 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Aaron Massey <aaronmassey@chromium.org> Change-Id: Ic4a4dff9c9832635019021b30b3818fa8cf8d1cb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3218363 Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Yuval Peress <peress@google.com>
-rw-r--r--zephyr/test/drivers/src/ln9310.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/ln9310.c b/zephyr/test/drivers/src/ln9310.c
index df27f23991..c1b9742382 100644
--- a/zephyr/test/drivers/src/ln9310.c
+++ b/zephyr/test/drivers/src/ln9310.c
@@ -265,6 +265,36 @@ static void test_ln9310_cfly_precharge_exceeds_retries(void)
i2c_common_emul_set_write_func(emul, NULL, NULL);
}
+static void test_ln9310_battery_unknown(void)
+{
+ const struct emul *emulator =
+ emul_get_binding(DT_LABEL(DT_NODELABEL(ln9310)));
+
+ zassert_not_null(emulator, NULL);
+
+ ln9310_emul_set_context(emulator);
+ ln9310_emul_reset(emulator);
+ /*
+ * Chip rev won't matter for statement
+ * cov so only testing one version.
+ */
+ 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_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);
+}
+
static void reset_ln9310_state(void)
{
ln9310_reset_to_initial_state();
@@ -274,6 +304,9 @@ void test_suite_ln9310(void)
{
ztest_test_suite(
ln9310,
+ ztest_unit_test_setup_teardown(test_ln9310_battery_unknown,
+ reset_ln9310_state,
+ reset_ln9310_state),
ztest_unit_test_setup_teardown(test_ln9310_read_chip_fails,
reset_ln9310_state,
reset_ln9310_state),