From 6bc70c3faeb404d985b4dcb5c73fb975d4132612 Mon Sep 17 00:00:00 2001 From: Clayton Whitelaw Date: Mon, 21 Nov 2022 14:10:35 -0700 Subject: 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 Change-Id: I287642975e05b7331333b7016af8e571c9e28676 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4052580 Code-Coverage: Zoss Reviewed-by: Simon Glass --- zephyr/test/drivers/default/src/tcpm_header.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'zephyr/test/drivers/default') 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; -- cgit v1.2.1