summaryrefslogtreecommitdiff
path: root/common/mock
diff options
context:
space:
mode:
authorAbe Levkoy <alevkoy@chromium.org>2020-12-07 17:39:09 -0700
committerCommit Bot <commit-bot@chromium.org>2020-12-15 15:39:18 +0000
commit0a561def48d4e673c834f4d01506ba8b9886cdd4 (patch)
treecbca0104ac3fe7058c0d58d14abd95decb39da6e /common/mock
parent160208413d16840428e42ecae18457e862e6ed49 (diff)
downloadchrome-ec-0a561def48d4e673c834f4d01506ba8b9886cdd4.tar.gz
mock: Clean up TCPMv2 mocks
Place mock functions in the mock libraries corresponding to the layers of the real implementations. Broadly, move towards one layer of the TCPM stack as a UUT, with mocks for the other layers as needed. There should be a one-to-one correspondence between real modules and mock modules. usb_pd_mock.c does not correspond to any real implementation module or TCPM stack layer, so remove it and move its contents to the layers corresponding to their real implementations. Also clean up some redundant or misplaced mocks inside tests. BUG=b:153071799,b:173791979 TEST=make buildall BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: Ic44df8675de2b9f1f8c7669cd97dcdc296bf107f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2578200 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org>
Diffstat (limited to 'common/mock')
-rw-r--r--common/mock/build.mk1
-rw-r--r--common/mock/usb_pd_mock.c101
-rw-r--r--common/mock/usb_pe_sm_mock.c26
-rw-r--r--common/mock/usb_prl_mock.c1
-rw-r--r--common/mock/usb_tc_sm_mock.c61
5 files changed, 88 insertions, 102 deletions
diff --git a/common/mock/build.mk b/common/mock/build.mk
index 5f2d548825..bc824259a6 100644
--- a/common/mock/build.mk
+++ b/common/mock/build.mk
@@ -14,7 +14,6 @@ mock-$(HAS_MOCK_TCPM) += tcpm_mock.o
mock-$(HAS_MOCK_TCPCI_I2C) += tcpci_i2c_mock.o
mock-$(HAS_MOCK_TIMER) += timer_mock.o
mock-$(HAS_MOCK_USB_MUX) += usb_mux_mock.o
-mock-$(HAS_MOCK_USB_PD) += usb_pd_mock.o
mock-$(HAS_MOCK_USB_PE_SM) += usb_pe_sm_mock.o
mock-$(HAS_MOCK_USB_TC_SM) += usb_tc_sm_mock.o
mock-$(HAS_MOCK_USB_PD_DPM) += usb_pd_dpm_mock.o
diff --git a/common/mock/usb_pd_mock.c b/common/mock/usb_pd_mock.c
deleted file mode 100644
index b699fd72ec..0000000000
--- a/common/mock/usb_pd_mock.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright 2020 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Mock USB Type-C PD */
-
-#include "common.h"
-#include "console.h"
-#include "usb_pd.h"
-#include "mock/usb_pd_mock.h"
-#include "memory.h"
-
-#ifndef TEST_BUILD
-#error "Mocks should only be in the test build."
-#endif
-
-struct mock_pd_port_t mock_pd_port[CONFIG_USB_PD_PORT_MAX_COUNT];
-
-void mock_pd_reset(void)
-{
- /* Reset all values to 0. */
- memset(mock_pd_port, 0, sizeof(mock_pd_port));
-}
-
-enum pd_dual_role_states pd_get_dual_role(int port)
-{
- return PD_DRP_TOGGLE_ON;
-}
-
-enum pd_data_role pd_get_data_role(int port)
-{
- return mock_pd_port[port].data_role;
-}
-
-enum pd_power_role pd_get_power_role(int port)
-{
- return mock_pd_port[port].power_role;
-}
-
-enum pd_cc_states pd_get_task_cc_state(int port)
-{
- return PD_CC_NONE;
-}
-
-int pd_is_connected(int port)
-{
- return 1;
-}
-
-bool pd_is_disconnected(int port)
-{
- return false;
-}
-
-__overridable const uint32_t * const pd_get_src_caps(int port)
-{
- return NULL;
-}
-
-__overridable uint8_t pd_get_src_cap_cnt(int port)
-{
- return 0;
-}
-
-__overridable void pd_set_src_caps(int port, int cnt, uint32_t *src_caps)
-{
-}
-
-bool pd_get_partner_usb_comm_capable(int port)
-{
- return true;
-}
-
-inline uint8_t board_get_usb_pd_port_count(void)
-{
- return CONFIG_USB_PD_PORT_MAX_COUNT;
-}
-
-void pd_set_suspend(int port, int suspend)
-{
-}
-
-enum tcpc_cc_polarity pd_get_polarity(int port)
-{
- return POLARITY_CC1;
-}
-
-void pd_request_data_swap(int port)
-{}
-
-void pd_request_vconn_swap_off(int port)
-{}
-
-void pd_request_vconn_swap_on(int port)
-{}
-
-bool pd_alt_mode_capable(int port)
-{
- return false;
-}
diff --git a/common/mock/usb_pe_sm_mock.c b/common/mock/usb_pe_sm_mock.c
index 0a47f22387..e7e9230901 100644
--- a/common/mock/usb_pe_sm_mock.c
+++ b/common/mock/usb_pe_sm_mock.c
@@ -7,6 +7,7 @@
#include "common.h"
#include "console.h"
+#include "usb_pd.h"
#include "usb_pe_sm.h"
#include "mock/usb_pe_sm_mock.h"
#include "memory.h"
@@ -86,3 +87,28 @@ bool pe_in_local_ams(int port)
return false;
}
+const uint32_t * const pd_get_src_caps(int port)
+{
+ return NULL;
+}
+
+uint8_t pd_get_src_cap_cnt(int port)
+{
+ return 0;
+}
+
+void pd_set_src_caps(int port, int cnt, uint32_t *src_caps)
+{
+}
+
+void pd_request_power_swap(int port)
+{}
+
+int pd_get_rev(int port, enum tcpm_transmit_type type)
+{
+ return IS_ENABLED(CONFIG_USB_PD_REV30) ? PD_REV30 : PD_REV20;
+}
+
+void pe_invalidate_explicit_contract(int port)
+{
+}
diff --git a/common/mock/usb_prl_mock.c b/common/mock/usb_prl_mock.c
index cb4b035ff4..5dba2b2805 100644
--- a/common/mock/usb_prl_mock.c
+++ b/common/mock/usb_prl_mock.c
@@ -126,6 +126,7 @@ int mock_prl_wait_for_tx_msg(int port,
}
task_wait_event(5 * MSEC);
}
+ /* A message of the expected type should have been sent by end_time. */
TEST_ASSERT(0);
return EC_ERROR_UNKNOWN;
}
diff --git a/common/mock/usb_tc_sm_mock.c b/common/mock/usb_tc_sm_mock.c
index ebbbb43bb3..71609cb2b2 100644
--- a/common/mock/usb_tc_sm_mock.c
+++ b/common/mock/usb_tc_sm_mock.c
@@ -7,6 +7,7 @@
#include "common.h"
#include "console.h"
+#include "ec_commands.h"
#include "usb_tc_sm.h"
#include "mock/usb_tc_sm_mock.h"
#include "memory.h"
@@ -35,6 +36,8 @@ void mock_tc_port_reset(void)
mock_tc_port[port].attached_snk = 0;
mock_tc_port[port].attached_src = 0;
mock_tc_port[port].vconn_src = false;
+ mock_tc_port[port].data_role = PD_ROLE_UFP;
+ mock_tc_port[port].power_role = PD_ROLE_SINK;
}
}
@@ -128,3 +131,61 @@ void tc_snk_power_off(int port)
void tc_request_power_swap(int port)
{
}
+
+enum pd_dual_role_states pd_get_dual_role(int port)
+{
+ return PD_DRP_TOGGLE_ON;
+}
+
+enum pd_data_role pd_get_data_role(int port)
+{
+ return mock_tc_port[port].data_role;
+}
+
+enum pd_power_role pd_get_power_role(int port)
+{
+ return mock_tc_port[port].power_role;
+}
+
+enum pd_cc_states pd_get_task_cc_state(int port)
+{
+ return PD_CC_NONE;
+}
+
+int pd_is_connected(int port)
+{
+ return 1;
+}
+
+bool pd_is_disconnected(int port)
+{
+ return false;
+}
+
+bool pd_get_partner_usb_comm_capable(int port)
+{
+ return true;
+}
+
+void pd_set_suspend(int port, int suspend)
+{
+}
+
+enum tcpc_cc_polarity pd_get_polarity(int port)
+{
+ return POLARITY_CC1;
+}
+
+void pd_request_data_swap(int port)
+{}
+
+void pd_request_vconn_swap_off(int port)
+{}
+
+void pd_request_vconn_swap_on(int port)
+{}
+
+bool pd_alt_mode_capable(int port)
+{
+ return false;
+}