diff options
-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; |