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 07:42:29 +0000
commita56be59ccdcc4f0d4c568b6237237b27a176f236 (patch)
tree6419993a9514bb688cd946fd28440007841c6bc0
parented60cdc3e8e545aba4a35490eb2fb830e07c2ac8 (diff)
downloadchrome-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.c2
-rw-r--r--zephyr/test/drivers/default/src/tcpm_header.c17
-rw-r--r--zephyr/test/drivers/testcase.yaml1
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"