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 07:42:29 +0000 |
commit | a56be59ccdcc4f0d4c568b6237237b27a176f236 (patch) | |
tree | 6419993a9514bb688cd946fd28440007841c6bc0 | |
parent | ed60cdc3e8e545aba4a35490eb2fb830e07c2ac8 (diff) | |
download | chrome-ec-a56be59ccdcc4f0d4c568b6237237b27a176f236.tar.gz |
tcpm_header: add test for tcpm_dump_registers
This function previously had no coverage for the case where standard
registers should be dumped.
To support this test, mark tcpc_dump_std_registers as test_mockable.
BUG=none
TEST=twister, verify lines are now covered
BRANCH=none
Change-Id: Id7bbba6f77c1684a7eeafb1be1f990fb9176e16b
Signed-off-by: Clayton Whitelaw <cawhitelaw@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4062461
Commit-Queue: Yuval Peress <peress@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: Yuval Peress <peress@google.com>
-rw-r--r-- | driver/tcpm/tcpci.c | 2 | ||||
-rw-r--r-- | zephyr/test/drivers/default/src/tcpm_header.c | 17 | ||||
-rw-r--r-- | zephyr/test/drivers/testcase.yaml | 1 |
3 files changed, 19 insertions, 1 deletions
diff --git a/driver/tcpm/tcpci.c b/driver/tcpm/tcpci.c index 6e8a1feaf9..ffd7fa3a97 100644 --- a/driver/tcpm/tcpci.c +++ b/driver/tcpm/tcpci.c @@ -1848,7 +1848,7 @@ static const struct tcpc_reg_dump_map tcpc_regs[] = { /* * Dump standard TCPC registers. */ -void tcpc_dump_std_registers(int port) +test_mockable void tcpc_dump_std_registers(int port) { tcpc_dump_registers(port, tcpc_regs, ARRAY_SIZE(tcpc_regs)); } diff --git a/zephyr/test/drivers/default/src/tcpm_header.c b/zephyr/test/drivers/default/src/tcpm_header.c index b310770306..5eceb31f6d 100644 --- a/zephyr/test/drivers/default/src/tcpm_header.c +++ b/zephyr/test/drivers/default/src/tcpm_header.c @@ -18,6 +18,7 @@ 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); +FAKE_VOID_FUNC(tcpc_dump_std_registers, int); struct tcpm_header_fixture { /* The original driver pointer that gets restored after the tests */ @@ -167,6 +168,21 @@ ZTEST_F(tcpm_header, test_tcpm_header_get_chip_info__unimplemented) tcpm_get_chip_info(TCPM_TEST_PORT, 0, NULL)); } +ZTEST_F(tcpm_header, test_tcpm_header_dump_registers__std) +{ + Z_TEST_SKIP_IFNDEF(CONFIG_PLATFORM_EC_CONSOLE_CMD_TCPC_DUMP); + + /* + * The driver does not implement dump_registers, so the + * standard ones should be dumped instead. + */ + tcpm_dump_registers(TCPM_TEST_PORT); + + zassert_equal(1, tcpc_dump_std_registers_fake.call_count); + zassert_equal(TCPM_TEST_PORT, + tcpc_dump_std_registers_fake.arg0_history[0]); +} + static void *tcpm_header_setup(void) { static struct tcpm_header_fixture fixture; @@ -184,6 +200,7 @@ static void tcpm_header_before(void *state) RESET_FAKE(debug_detach); RESET_FAKE(hard_reset_reinit); RESET_FAKE(set_frs_enable); + RESET_FAKE(tcpc_dump_std_registers); fixture->mock_driver = (struct tcpm_drv){ 0 }; fixture->saved_driver_ptr = tcpc_config[TCPM_TEST_PORT].drv; diff --git a/zephyr/test/drivers/testcase.yaml b/zephyr/test/drivers/testcase.yaml index 896562f4f8..f576213345 100644 --- a/zephyr/test/drivers/testcase.yaml +++ b/zephyr/test/drivers/testcase.yaml @@ -12,6 +12,7 @@ tests: - CONFIG_PLATFORM_EC_LID_ANGLE_UPDATE=y - CONFIG_PLATFORM_EC_USB_PD_DPS=y - CONFIG_PLATFORM_EC_I2C_PASSTHRU_RESTRICTED=y + - CONFIG_PLATFORM_EC_CONSOLE_CMD_TCPC_DUMP=y drivers.default.bring_up: timeout: 240 extra_args: CONF_FILE="prj.conf;default/prj.conf" |