summaryrefslogtreecommitdiff
path: root/common/mock/usb_tc_sm_mock.c
diff options
context:
space:
mode:
authorPaul Fagerburg <pfagerburg@google.com>2020-08-14 17:20:04 -0600
committerCommit Bot <commit-bot@chromium.org>2020-08-31 17:06:13 +0000
commit33db71602297092026bb714f8b038ac0e7ac593d (patch)
tree4f40eb0fbcc63acd5d8f4387f7d2d554f80ae6b4 /common/mock/usb_tc_sm_mock.c
parentbd018841f6f2856c949dcf9b6dd462872cd18d7f (diff)
downloadchrome-ec-33db71602297092026bb714f8b038ac0e7ac593d.tar.gz
usb_pe_drp: new unit test with mocks
Add a new unit test for usb_pe_drp with mocks for the various subsystems that it will use. The fake_prl module is already essentially a mock for the PRL layer, so just move it into the mocks directory and make it available as mock to other tests. BUG=b:163421994 BRANCH=None TEST=`make runhosttests` succeeds Signed-off-by: Paul Fagerburg <pfagerburg@google.com> Change-Id: I2aea3fa0694e8d9e6bae1f47516cb4d5d2a1e714 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2364050 Tested-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org>
Diffstat (limited to 'common/mock/usb_tc_sm_mock.c')
-rw-r--r--common/mock/usb_tc_sm_mock.c83
1 files changed, 83 insertions, 0 deletions
diff --git a/common/mock/usb_tc_sm_mock.c b/common/mock/usb_tc_sm_mock.c
index 884a65ec80..aea8076f09 100644
--- a/common/mock/usb_tc_sm_mock.c
+++ b/common/mock/usb_tc_sm_mock.c
@@ -30,6 +30,8 @@ void mock_tc_port_reset(void)
mock_tc_port[port].msg_rx_id = 0;
mock_tc_port[port].sop = TCPC_TX_INVALID;
mock_tc_port[port].lcl_rp = TYPEC_RP_RESERVED;
+ mock_tc_port[port].attached_snk = 0;
+ mock_tc_port[port].attached_src = 0;
}
}
@@ -48,7 +50,88 @@ void typec_select_src_collision_rp(int port, enum tcpc_rp_value rp)
mock_tc_port[port].lcl_rp = rp;
}
+int tc_is_attached_src(int port)
+{
+ return mock_tc_port[port].attached_src;
+}
+
+int tc_is_attached_snk(int port)
+{
+ return mock_tc_port[port].attached_snk;
+}
+
+void tc_prs_snk_src_assert_rp(int port)
+{
+ mock_tc_port[port].attached_snk = 0;
+ mock_tc_port[port].attached_src = 1;
+}
+
+void tc_prs_src_snk_assert_rd(int port)
+{
+ mock_tc_port[port].attached_snk = 1;
+ mock_tc_port[port].attached_src = 0;
+}
+
int typec_update_cc(int port)
{
return EC_SUCCESS;
}
+
+void tc_set_data_role(int port, enum pd_data_role role)
+{
+ mock_tc_port[port].data_role = role;
+}
+
+void tc_set_power_role(int port, enum pd_power_role role)
+{
+ mock_tc_port[port].power_role = role;
+}
+
+int tc_check_vconn_swap(int port)
+{
+ return 0;
+}
+
+void tc_ctvpd_detected(int port)
+{}
+
+int tc_is_vconn_src(int port)
+{
+ return 0;
+}
+
+void tc_hard_reset_request(int port)
+{
+ mock_tc_port_reset();
+}
+
+void tc_partner_dr_data(int port, int en)
+{}
+
+void tc_partner_dr_power(int port, int en)
+{}
+
+void tc_partner_unconstrainedpower(int port, int en)
+{}
+
+void tc_partner_usb_comm(int port, int en)
+{}
+
+void tc_pd_connection(int port, int en)
+{}
+
+void tc_pr_swap_complete(int port, bool success)
+{}
+
+void tc_src_power_off(int port)
+{}
+
+void tc_start_error_recovery(int port)
+{}
+
+void tc_snk_power_off(int port)
+{}
+
+void tc_request_power_swap(int port)
+{
+}