summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Honscheid <honscheid@google.com>2022-11-02 15:45:18 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-10 07:20:13 +0000
commit862296cdc067817281f5634968b701616c8a1965 (patch)
treec9770ada8e6d42e13a7ba90489d3a9845bda13ee
parentc0bbf8879b5faed713de29537c83a8e29dabe545 (diff)
downloadchrome-ec-862296cdc067817281f5634968b701616c8a1965.tar.gz
zephyr: tests: Test charger.c charger_get_vsys_voltage()
Test charger_get_vsys_voltage in common/charger.c BRANCH=None BUG=None TEST=./twister Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: Iedbe7b1a4c2ecb40497e2076f3a24ac0deee8883 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4000833 Reviewed-by: Yuval Peress <peress@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--zephyr/test/drivers/common_charger/src/test_common_charger_mocked.c44
1 files changed, 44 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 9df5b79dd1..df74ebfb4e 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
@@ -29,6 +29,7 @@ FAKE_VALUE_FUNC(int, is_sourcing_otg_power, int, int);
FAKE_VALUE_FUNC(enum ec_error_list, get_actual_current, int, int *);
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 *);
struct common_charger_mocked_driver_fixture {
/* The original driver pointer that gets restored after the tests */
@@ -225,6 +226,48 @@ ZTEST_F(common_charger_mocked_driver, test_charger_set_voltage)
zassert_equal(2000, set_voltage_fake.arg1_history[0]);
}
+ZTEST(common_charger_mocked_driver, test_charger_get_vsys_voltage__invalid)
+{
+ /* Cannot do chgnum bounds checking because
+ * charger_get_valid_chgnum() will convert chgnum to 0 unless
+ * CONFIG_CHARGER_SINGLE_CHIP is turned off.
+ */
+
+ /* get_vsys_voltage is NULL */
+ zassert_equal(EC_ERROR_UNIMPLEMENTED,
+ charger_get_vsys_voltage(CHG_NUM, NULL));
+}
+
+/**
+ * @brief Custom fake for get_vsys_voltage that can write to the output param
+ */
+static enum ec_error_list get_vsys_voltage_custom_fake(int chgnum, int port,
+ int *voltage)
+{
+ ARG_UNUSED(chgnum);
+ ARG_UNUSED(port);
+
+ *voltage = 2000;
+
+ return EC_SUCCESS;
+}
+
+ZTEST_F(common_charger_mocked_driver, test_charger_get_vsys_voltage)
+{
+ int vsys_voltage;
+
+ fixture->mock_driver.get_vsys_voltage = get_vsys_voltage;
+ get_vsys_voltage_fake.custom_fake = get_vsys_voltage_custom_fake;
+
+ zassert_equal(EC_SUCCESS,
+ charger_get_vsys_voltage(CHG_NUM, &vsys_voltage));
+
+ zassert_equal(1, get_vsys_voltage_fake.call_count);
+ zassert_equal(CHG_NUM, get_vsys_voltage_fake.arg0_history[0]);
+ zassert_equal(CHG_NUM, get_vsys_voltage_fake.arg1_history[0]);
+ zassert_equal(2000, vsys_voltage);
+}
+
static void *setup(void)
{
static struct common_charger_mocked_driver_fixture f;
@@ -255,6 +298,7 @@ static void reset(void *data)
RESET_FAKE(get_actual_current);
RESET_FAKE(get_actual_voltage);
RESET_FAKE(set_voltage);
+ RESET_FAKE(get_vsys_voltage);
}
static void teardown(void *data)