diff options
author | Aaron Massey <aaronmassey@google.com> | 2021-10-11 15:55:26 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-10-27 22:53:54 +0000 |
commit | 1992def80991feba8e39796ce3e425c986d6f8ec (patch) | |
tree | 9d6c80f56846b730cf6def5c6111d68bf6cb97cb | |
parent | 0a9ed9b8caf31da36f44479fb2cb43021f144818 (diff) | |
download | chrome-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.c | 33 |
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), |