diff options
author | Denis Brockus <dbrockus@google.com> | 2020-12-28 11:42:29 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-12-29 16:53:12 +0000 |
commit | 96a7fefe36e701638616d69366eb9a5f093caa55 (patch) | |
tree | f4ac323a1fbea12f9d86c130b130d474ba81a144 /test/usb_tcpmv2_td_pd_ll_e4.c | |
parent | c33ab2439a46ea70b0647078bea940821a3a1b5c (diff) | |
download | chrome-ec-96a7fefe36e701638616d69366eb9a5f093caa55.tar.gz |
TCPMv2: Compliance Unit Test - cleanup common code
PROC.PD.E1 and PROC.PD.E3 used common code that was
also peppered through out some of the tests. Make a
common copy that they can all use.
BUG=b:176249915
BRANCH=none
TEST=make buildall
Signed-off-by: Denis Brockus <dbrockus@google.com>
Change-Id: I82505fa8ac61db2ee941f2a236a22bdf3e69ae2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2604562
Tested-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
Commit-Queue: Keith Short <keithshort@chromium.org>
Auto-Submit: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'test/usb_tcpmv2_td_pd_ll_e4.c')
-rw-r--r-- | test/usb_tcpmv2_td_pd_ll_e4.c | 97 |
1 files changed, 4 insertions, 93 deletions
diff --git a/test/usb_tcpmv2_td_pd_ll_e4.c b/test/usb_tcpmv2_td_pd_ll_e4.c index e79714ed9d..2ef421f14f 100644 --- a/test/usb_tcpmv2_td_pd_ll_e4.c +++ b/test/usb_tcpmv2_td_pd_ll_e4.c @@ -9,6 +9,7 @@ #include "test_util.h" #include "timer.h" #include "usb_tcpmv2_compliance.h" +#include "usb_tc_sm.h" /***************************************************************************** * TD.PD.LL.E4. Hard Reset Usage @@ -30,69 +31,12 @@ static int td_pd_ll_e4(enum pd_data_role data_role) /* * a) Run PROC.PD.E1 Bring-up according to the UUT role. */ - TEST_EQ(proc_pd_e1(data_role), EC_SUCCESS, "%d"); + TEST_EQ(proc_pd_e1(data_role, INITIAL_ATTACH), EC_SUCCESS, "%d"); /* * Make sure we are idle. Reject everything that is pending */ - if (data_role == PD_ROLE_DFP) { - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP_PRIME, 0, - PD_DATA_VENDOR_DEF), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP_PRIME, PD_CTRL_NOT_SUPPORTED, 0, 0, - NULL); - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, 0, - PD_DATA_VENDOR_DEF), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_CTRL_NOT_SUPPORTED, 0, 0, NULL); - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, - PD_CTRL_GET_SOURCE_CAP, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_DATA_SOURCE_CAP, 1, 0, &pdo); - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, - PD_CTRL_GET_SINK_CAP, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_DATA_SINK_CAP, 1, 0, &pdo); - } else if (data_role == PD_ROLE_UFP) { - int vcs; - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, PD_CTRL_DR_SWAP, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_CTRL_REJECT, 0, 0, NULL); - - for (vcs = 0; vcs < 4; vcs++) { - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, - PD_CTRL_VCONN_SWAP, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_CTRL_REJECT, 0, 0, - NULL); - } - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, - PD_CTRL_GET_SINK_CAP, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_DATA_SINK_CAP, 1, 0, &pdo); - } - - /* Should be idle now. */ - task_wait_event(10 * SECOND); + TEST_EQ(handle_attach_expected_msgs(data_role), EC_SUCCESS, "%d"); /* * b) Send a Get_Sink_Cap message to the UUT, wait for a reply @@ -133,41 +77,8 @@ static int td_pd_ll_e4(enum pd_data_role data_role) * e) Do the bring-up procedure for Link tests and check that the link * is successfully established. */ - if (partner_get_power_role() == PD_ROLE_SINK) { - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, - 0, - PD_DATA_SOURCE_CAP), - EC_SUCCESS, "%d"); - - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(10 * MSEC); - - partner_send_msg(PD_MSG_SOP, PD_DATA_REQUEST, 1, 0, &rdo); - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, PD_CTRL_ACCEPT, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, PD_CTRL_PS_RDY, 0), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); - task_wait_event(5 * MSEC); - - partner_send_msg(PD_MSG_SOP, PD_CTRL_ACCEPT, 0, 0, NULL); - task_wait_event(1 * MSEC); - } else { - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_DATA_SOURCE_CAP, 1, 0, &pdo); - - TEST_EQ(verify_tcpci_transmit(TCPC_TX_SOP, 0, PD_DATA_REQUEST), - EC_SUCCESS, "%d"); - mock_set_alert(TCPC_REG_ALERT_TX_SUCCESS); + TEST_EQ(proc_pd_e1(data_role, ALREADY_ATTACHED), EC_SUCCESS, "%d"); - partner_send_msg(PD_MSG_SOP, PD_CTRL_ACCEPT, 0, 0, NULL); - task_wait_event(10 * MSEC); - partner_send_msg(PD_MSG_SOP, PD_CTRL_PS_RDY, 0, 0, NULL); - task_wait_event(1 * MSEC); - } return EC_SUCCESS; } int test_td_pd_ll_e4_dfp(void) |