summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClayton Whitelaw <cawhitelaw@google.com>2022-11-21 14:10:35 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-29 00:04:52 +0000
commit6bc70c3faeb404d985b4dcb5c73fb975d4132612 (patch)
tree4f756ca3fd52de860094d2ed9ede89adca923a72
parent7fdbe139cc58304b0ed4531847ea8dafc553f7d3 (diff)
downloadchrome-ec-6bc70c3faeb404d985b4dcb5c73fb975d4132612.tar.gz
tcpm_header: add tests for tcpm_set_frs_enable
This function had no coverage previously. Added tests for both cases where the driver does and does not implement these functions. Since the function is conditionally included, guard the tests by checking the same configuration. BUG=none TEST=twister, verify lines are now covered BRANCH=none Signed-off-by: Clayton Whitelaw <cawhitelaw@google.com> Change-Id: I287642975e05b7331333b7016af8e571c9e28676 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4052580 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--zephyr/test/drivers/default/src/tcpm_header.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/zephyr/test/drivers/default/src/tcpm_header.c b/zephyr/test/drivers/default/src/tcpm_header.c
index e84a3e7ad4..118e4676f7 100644
--- a/zephyr/test/drivers/default/src/tcpm_header.c
+++ b/zephyr/test/drivers/default/src/tcpm_header.c
@@ -17,6 +17,7 @@ FAKE_VALUE_FUNC(int, reset_bist_type_2, int);
FAKE_VALUE_FUNC(int, debug_accessory, int, bool);
FAKE_VALUE_FUNC(int, debug_detach, int);
FAKE_VALUE_FUNC(int, hard_reset_reinit, int);
+FAKE_VALUE_FUNC(int, set_frs_enable, int, int);
struct tcpm_header_fixture {
/* The original driver pointer that gets restored after the tests */
@@ -124,6 +125,31 @@ ZTEST_F(tcpm_header, test_tcpm_header_hard_reset_reinit__implemented)
zassert_equal(driver_return_code, res);
}
+ZTEST_F(tcpm_header, test_tcpm_header_set_frs_enable__unimplemented)
+{
+ Z_TEST_SKIP_IFNDEF(CONFIG_PLATFORM_EC_USB_PD_FRS);
+
+ zassert_ok(tcpm_set_frs_enable(TCPM_TEST_PORT, 1));
+ zassert_ok(tcpm_set_frs_enable(TCPM_TEST_PORT, 0));
+}
+
+ZTEST_F(tcpm_header, test_tcpm_header_set_frs_enable__implemented)
+{
+ int res;
+ const int driver_return_code = 7458; /* arbitrary */
+
+ Z_TEST_SKIP_IFNDEF(CONFIG_PLATFORM_EC_USB_PD_FRS);
+
+ fixture->mock_driver.set_frs_enable = set_frs_enable;
+ set_frs_enable_fake.return_val = driver_return_code;
+ res = tcpm_set_frs_enable(TCPM_TEST_PORT, 1);
+
+ zassert_equal(1, set_frs_enable_fake.call_count);
+ zassert_equal(TCPM_TEST_PORT, set_frs_enable_fake.arg0_history[0]);
+ zassert_equal(1, set_frs_enable_fake.arg1_history[0]);
+ zassert_equal(driver_return_code, res);
+}
+
static void *tcpm_header_setup(void)
{
static struct tcpm_header_fixture fixture;
@@ -140,6 +166,7 @@ static void tcpm_header_before(void *state)
RESET_FAKE(debug_accessory);
RESET_FAKE(debug_detach);
RESET_FAKE(hard_reset_reinit);
+ RESET_FAKE(set_frs_enable);
fixture->mock_driver = (struct tcpm_drv){ 0 };
fixture->saved_driver_ptr = tcpc_config[TCPM_TEST_PORT].drv;