diff options
author | Tristan Honscheid <honscheid@google.com> | 2022-11-09 17:13:16 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-11 19:36:12 +0000 |
commit | 024bd337a7b4b1b06bb9b8a24f59e1da1a337ea8 (patch) | |
tree | 6af71b6828abe01c4b036e075a05306e5e0b8e47 | |
parent | 65bed7c6f418827aade0d3edecf178d251a3c377 (diff) | |
download | chrome-ec-024bd337a7b4b1b06bb9b8a24f59e1da1a337ea8.tar.gz |
zephyr: tests: Test four function in `common/charger.c`
Test the happy paths of:
* `charger_set_vsys_compensation()`
* `charger_is_icl_reached()`
* `charger_enable_linear_charge()`
* `charger_get_battery_cells()`
BRANCH=None
BUG=None
TEST=./twister
Signed-off-by: Tristan Honscheid <honscheid@google.com>
Change-Id: Ia85dbe93eb2bb5528d4832c0dbdef09fe3882797
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4017487
Reviewed-by: Simon Glass <sjg@chromium.org>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r-- | zephyr/test/drivers/common_charger/src/test_common_charger_mocked.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/zephyr/test/drivers/common_charger/src/test_common_charger_mocked.c b/zephyr/test/drivers/common_charger/src/test_common_charger_mocked.c index 68a67519f7..4ee485f5c0 100644 --- a/zephyr/test/drivers/common_charger/src/test_common_charger_mocked.c +++ b/zephyr/test/drivers/common_charger/src/test_common_charger_mocked.c @@ -32,6 +32,11 @@ FAKE_VALUE_FUNC(enum ec_error_list, get_actual_voltage, int, int *); FAKE_VALUE_FUNC(enum ec_error_list, set_voltage, int, int); FAKE_VALUE_FUNC(enum ec_error_list, get_vsys_voltage, int, int, int *); FAKE_VALUE_FUNC(enum ec_error_list, enable_bypass_mode, int, bool); +FAKE_VALUE_FUNC(enum ec_error_list, set_vsys_compensation, int, + struct ocpc_data *, int, int); +FAKE_VALUE_FUNC(enum ec_error_list, is_icl_reached, int, bool *); +FAKE_VALUE_FUNC(enum ec_error_list, enable_linear_charge, int, bool); +FAKE_VALUE_FUNC(enum ec_error_list, get_battery_cells, int, int *); /** * @brief If non-NULL, board_get_charger_chip_count returns the value this @@ -500,6 +505,46 @@ ZTEST(common_charger_mocked_driver, test_charger_set_mode__unimpl) zassert_equal(EC_ERROR_UNIMPLEMENTED, charger_set_mode(0)); } +ZTEST_F(common_charger_mocked_driver, test_charger_set_vsys_compensation) +{ + fixture->mock_driver.set_vsys_compensation = set_vsys_compensation; + set_vsys_compensation_fake.return_val = 123; + + zassert_equal(123, charger_set_vsys_compensation(CHG_NUM, NULL, 0, 0)); + + zassert_equal(1, set_vsys_compensation_fake.call_count); +} + +ZTEST_F(common_charger_mocked_driver, test_charger_is_icl_reached) +{ + fixture->mock_driver.is_icl_reached = is_icl_reached; + is_icl_reached_fake.return_val = 123; + + zassert_equal(123, charger_is_icl_reached(CHG_NUM, NULL)); + + zassert_equal(1, is_icl_reached_fake.call_count); +} + +ZTEST_F(common_charger_mocked_driver, test_charger_enable_linear_charge) +{ + fixture->mock_driver.enable_linear_charge = enable_linear_charge; + enable_linear_charge_fake.return_val = 123; + + zassert_equal(123, charger_enable_linear_charge(CHG_NUM, 0)); + + zassert_equal(1, enable_linear_charge_fake.call_count); +} + +ZTEST_F(common_charger_mocked_driver, test_charger_get_battery_cells) +{ + fixture->mock_driver.get_battery_cells = get_battery_cells; + get_battery_cells_fake.return_val = 123; + + zassert_equal(123, charger_get_battery_cells(CHG_NUM, NULL)); + + zassert_equal(1, get_battery_cells_fake.call_count); +} + static void *setup(void) { static struct common_charger_mocked_driver_fixture f; @@ -532,6 +577,10 @@ static void reset(void *data) RESET_FAKE(set_voltage); RESET_FAKE(get_vsys_voltage); RESET_FAKE(enable_bypass_mode); + RESET_FAKE(set_vsys_compensation); + RESET_FAKE(is_icl_reached); + RESET_FAKE(enable_linear_charge); + RESET_FAKE(get_battery_cells); fake_charger_count = NULL; } |