summaryrefslogtreecommitdiff
path: root/test/usb_prl.c
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /test/usb_prl.c
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14588.98.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'test/usb_prl.c')
-rw-r--r--test/usb_prl.c170
1 files changed, 0 insertions, 170 deletions
diff --git a/test/usb_prl.c b/test/usb_prl.c
deleted file mode 100644
index 061bb1ad3c..0000000000
--- a/test/usb_prl.c
+++ /dev/null
@@ -1,170 +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.
- *
- * Test USB Protocol Layer module.
- */
-#include "common.h"
-#include "mock/tcpc_mock.h"
-#include "mock/tcpm_mock.h"
-#include "mock/usb_pe_sm_mock.h"
-#include "mock/usb_tc_sm_mock.h"
-#include "task.h"
-#include "tcpm/tcpci.h"
-#include "tcpm/tcpm.h"
-#include "test_util.h"
-#include "timer.h"
-#include "usb_emsg.h"
-#include "usb_pd.h"
-#include "usb_pd_test_util.h"
-#include "usb_pe_sm.h"
-#include "usb_prl_sm.h"
-#include "usb_sm_checks.h"
-#include "usb_tc_sm.h"
-#include "util.h"
-
-#define PORT0 0
-
-/* Install Mock TCPC and MUX drivers */
-const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .drv = &mock_tcpc_driver,
- },
-};
-
-static void enable_prl(int port, int en)
-{
- tcpm_set_rx_enable(port, en);
-
- mock_tc_port[port].pd_enable = en;
-
- task_wait_event(10*MSEC);
-
- prl_set_rev(port, TCPCI_MSG_SOP, mock_tc_port[port].rev);
-}
-
-static int test_receive_control_msg(void)
-{
- int port = PORT0;
- uint16_t header = PD_HEADER(PD_CTRL_DR_SWAP,
- pd_get_power_role(port),
- pd_get_data_role(port),
- mock_tc_port[port].msg_rx_id,
- 0, mock_tc_port[port].rev, 0);
-
- /* Set up the message to be received. */
- mock_tcpm_rx_msg(port, header, 0, NULL);
-
- /* Process the message. */
- task_wait_event(10*MSEC);
-
- /* Check results. */
- TEST_NE(mock_pe_port[port].mock_pe_message_received, 0, "%d");
- TEST_EQ(header, rx_emsg[port].header, "%d");
- TEST_EQ(rx_emsg[port].len, 0, "%d");
-
- TEST_LE(mock_pe_port[port].mock_pe_error, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_message_discarded, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_got_soft_reset, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_got_hard_reset, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_hard_reset_sent, 0, "%d");
-
- return EC_SUCCESS;
-}
-
-static int test_send_control_msg(void)
-{
- int port = PORT0;
-
- /* Set up the message to be sent. */
- prl_send_ctrl_msg(port, TCPCI_MSG_SOP, PD_CTRL_ACCEPT);
- task_wait_event(MSEC);
- /* Simulate the TX complete that the PD_INT handler would signal */
- pd_transmit_complete(port, TCPC_TX_COMPLETE_SUCCESS);
-
- task_wait_event(10*MSEC);
-
- /* Check results. */
- TEST_NE(mock_pe_port[port].mock_pe_message_sent, 0, "%d");
- TEST_LE(mock_pe_port[port].mock_pe_error, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_message_discarded, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_got_soft_reset, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_got_hard_reset, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_hard_reset_sent, 0, "%d");
-
- return EC_SUCCESS;
-}
-
-static int test_discard_queued_tx_when_rx_happens(void)
-{
- int port = PORT0;
- uint16_t header = PD_HEADER(PD_CTRL_DR_SWAP,
- pd_get_power_role(port),
- pd_get_data_role(port),
- mock_tc_port[port].msg_rx_id,
- 0, mock_tc_port[port].rev, 0);
- uint8_t *buf = tx_emsg[port].buf;
- uint8_t len = 8;
- uint8_t i = 0;
-
- /* Set up the message to be sent. */
- for (i = 0 ; i < len ; i++)
- buf[i] = (uint8_t)i;
-
- tx_emsg[port].len = len;
- prl_send_data_msg(port, TCPCI_MSG_SOP, PD_DATA_SOURCE_CAP);
-
- /* Set up the message to be received. */
- mock_tcpm_rx_msg(port, header, 0, NULL);
-
- /* Process the message. */
- task_wait_event(10*MSEC);
-
- /* Check results. Source should have discarded its message queued up
- * to TX, and should have received the message from the sink.
- */
- TEST_NE(mock_pe_port[port].mock_pe_message_discarded, 0, "%d");
- TEST_NE(mock_pe_port[port].mock_pe_message_received, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_message_sent, 0, "%d");
-
- TEST_LE(mock_pe_port[port].mock_pe_error, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_got_soft_reset, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_got_hard_reset, 0, "%d");
- TEST_EQ(mock_pe_port[port].mock_pe_hard_reset_sent, 0, "%d");
-
- return EC_SUCCESS;
-}
-
-void before_test(void)
-{
- mock_tc_port_reset();
- mock_tc_port[PORT0].rev = PD_REV30;
- mock_tc_port[PORT0].power_role = PD_ROLE_SOURCE;
- mock_tc_port[PORT0].data_role = PD_ROLE_DFP;
-
- mock_tcpm_reset();
- mock_pe_port_reset();
-
- prl_reset_soft(PORT0);
- enable_prl(PORT0, 1);
-}
-
-void after_test(void)
-{
- enable_prl(PORT0, 0);
-}
-
-void run_test(int argc, char **argv)
-{
- RUN_TEST(test_receive_control_msg);
- RUN_TEST(test_send_control_msg);
- RUN_TEST(test_discard_queued_tx_when_rx_happens);
- /* TODO add tests here */
-
-
- /* Do basic state machine validity checks last. */
- RUN_TEST(test_prl_no_parent_cycles);
- RUN_TEST(test_prl_all_states_named);
-
- test_print_result();
-}