diff options
author | Clayton Whitelaw <cawhitelaw@google.com> | 2022-11-21 14:10:35 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-29 00:04:52 +0000 |
commit | 6bc70c3faeb404d985b4dcb5c73fb975d4132612 (patch) | |
tree | 4f756ca3fd52de860094d2ed9ede89adca923a72 | |
parent | 7fdbe139cc58304b0ed4531847ea8dafc553f7d3 (diff) | |
download | chrome-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.c | 27 |
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; |