diff options
Diffstat (limited to 'test/usb_pd_console.c')
-rw-r--r-- | test/usb_pd_console.c | 472 |
1 files changed, 0 insertions, 472 deletions
diff --git a/test/usb_pd_console.c b/test/usb_pd_console.c deleted file mode 100644 index 800eae7b3d..0000000000 --- a/test/usb_pd_console.c +++ /dev/null @@ -1,472 +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_pd_console - */ - -#include "common.h" -#include "math.h" -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include "usb_pe_sm.h" -#include "usb_pd.h" -#include "usb_tc_sm.h" -#include "util.h" -#include "test_util.h" - -/* Defined in implementation */ -int hex8tou32(char *str, uint32_t *val); -int command_pd(int argc, char **argv); -int remote_flashing(int argc, char **argv); - -static enum try_src_override_t try_src_override; -static int test_port; -static enum pd_dpm_request request; -static int max_volt; -static int comm_enable; -static int dev_info; -static int vdm_cmd; -static int vdm_count; -static int vdm_vid; -static uint32_t vdm_data[10]; -static enum pd_dual_role_states dr_state; - -/* Mock functions */ -void pe_send_vdm(int port, uint32_t vid, int cmd, const uint32_t *data, - int count) -{ - int i; - - test_port = port; - vdm_cmd = cmd; - vdm_count = count; - vdm_vid = vid; - - if (data == NULL) - for (i = 0; i < 10; i++) - vdm_data[i] = -1; - else - for (i = 0; i < count; i++) - vdm_data[i] = data[i]; -} - -void pd_dpm_request(int port, enum pd_dpm_request req) -{ - test_port = port; - request = req; -} - -unsigned int pd_get_max_voltage(void) -{ - return 10000; -} - -void pd_request_source_voltage(int port, int mv) -{ - test_port = port; - max_volt = mv; -} - -void pd_comm_enable(int port, int enable) -{ - test_port = port; - comm_enable = enable; -} - -void tc_print_dev_info(int port) -{ - test_port = port; - dev_info = 1; -} - -void pd_set_dual_role(int port, enum pd_dual_role_states state) -{ - test_port = port; - dr_state = state; -} - -int pd_comm_is_enabled(int port) -{ - test_port = port; - return 0; -} - -int pd_get_polarity(int port) -{ - test_port = port; - return 0; -} - -uint32_t tc_get_flags(int port) -{ - test_port = port; - return 0; -} - -const char *tc_get_current_state(int port) -{ - test_port = port; - return 0; -} - -void tc_try_src_override(enum try_src_override_t ov) -{ - if (IS_ENABLED(CONFIG_USB_PD_TRY_SRC)) { - switch (ov) { - case TRY_SRC_OVERRIDE_OFF: /* 0 */ - try_src_override = TRY_SRC_OVERRIDE_OFF; - break; - case TRY_SRC_OVERRIDE_ON: /* 1 */ - try_src_override = TRY_SRC_OVERRIDE_ON; - break; - default: - try_src_override = TRY_SRC_NO_OVERRIDE; - } - } -} - -enum try_src_override_t tc_get_try_src_override(void) -{ - return try_src_override; -} - -static int test_hex8tou32(void) -{ - char const *tst_str[] = {"01234567", "89abcdef", - "AABBCCDD", "EEFF0011"}; - uint32_t const tst_int[] = {0x01234567, 0x89abcdef, - 0xaabbccdd, 0xeeff0011}; - uint32_t val; - int i; - - for (i = 0; i < 4; i++) { - hex8tou32(tst_str[i], &val); - TEST_ASSERT(val == tst_int[i]); - } - - return EC_SUCCESS; -} - -static int test_command_pd_arg_count(void) -{ - int argc; - char const *argv[] = {"pd", "", 0, 0, 0}; - - for (argc = 0; argc < 3; argc++) - TEST_ASSERT(command_pd(argc, argv) == EC_ERROR_PARAM_COUNT); - - return EC_SUCCESS; -} - -static int test_command_pd_port_num(void) -{ - int argc = 3; - char const *argv[10] = {"pd", "5", 0, 0, 0}; - - TEST_ASSERT(command_pd(argc, argv) == EC_ERROR_PARAM2); - - return EC_SUCCESS; -} - -static int test_command_pd_try_src(void) -{ - int argc = 3; - char const *argv[] = {"pd", "trysrc", "2", 0, 0}; - - try_src_override = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(try_src_override == TRY_SRC_NO_OVERRIDE); - - argv[2] = "1"; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(try_src_override == TRY_SRC_OVERRIDE_ON); - - argv[2] = "0"; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(try_src_override == TRY_SRC_OVERRIDE_OFF); - - return EC_SUCCESS; -} - -static int test_command_pd_tx(void) -{ - int argc = 3; - char const *argv[] = {"pd", "0", "tx", 0, 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(request == DPM_REQUEST_SNK_STARTUP); - - return EC_SUCCESS; -} - -static int test_command_pd_charger(void) -{ - int argc = 3; - char const *argv[] = {"pd", "1", "charger", 0, 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 1); - TEST_ASSERT(request == DPM_REQUEST_SRC_STARTUP); - - return EC_SUCCESS; -} - -static int test_command_pd_dev1(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "dev", "20", 0}; - - request = 0; - max_volt = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(request == DPM_REQUEST_NEW_POWER_LEVEL); - TEST_ASSERT(max_volt == 20000); - - return EC_SUCCESS; -} - -static int test_command_pd_dev2(void) -{ - int argc = 3; - char const *argv[] = {"pd", "1", "dev", 0, 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 1); - TEST_ASSERT(request == DPM_REQUEST_NEW_POWER_LEVEL); - TEST_ASSERT(max_volt == 10000); - - return EC_SUCCESS; -} - -static int test_command_pd_disable(void) -{ - int argc = 3; - char const *argv[] = {"pd", "0", "disable", 0, 0}; - - comm_enable = 1; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(comm_enable == 0); - - return EC_SUCCESS; -} - -static int test_command_pd_enable(void) -{ - int argc = 3; - char const *argv[] = {"pd", "1", "enable", 0, 0}; - - comm_enable = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 1); - TEST_ASSERT(comm_enable == 1); - - return EC_SUCCESS; -} - -static int test_command_pd_hard(void) -{ - int argc = 3; - char const *argv[] = {"pd", "0", "hard", 0, 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(request == DPM_REQUEST_HARD_RESET_SEND); - - return EC_SUCCESS; -} - -static int test_command_pd_soft(void) -{ - int argc = 3; - char const *argv[] = {"pd", "0", "soft", 0, 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(request == DPM_REQUEST_SOFT_RESET_SEND); - - return EC_SUCCESS; -} - -static int test_command_pd_swap1(void) -{ - int argc = 3; - char const *argv[] = {"pd", "0", "swap", 0, 0}; - - TEST_ASSERT(command_pd(argc, argv) == EC_ERROR_PARAM_COUNT); - - return EC_SUCCESS; -} - -static int test_command_pd_swap2(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "swap", "power", 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(request == DPM_REQUEST_PR_SWAP); - - return EC_SUCCESS; -} - -static int test_command_pd_swap3(void) -{ - int argc = 4; - char const *argv[] = {"pd", "1", "swap", "data", 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 1); - TEST_ASSERT(request == DPM_REQUEST_DR_SWAP); - - return EC_SUCCESS; -} - -static int test_command_pd_swap4(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "swap", "vconn", 0}; - - request = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(request == DPM_REQUEST_VCONN_SWAP); - - return EC_SUCCESS; -} - -static int test_command_pd_swap5(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "swap", "xyz", 0}; - - TEST_ASSERT(command_pd(argc, argv) == EC_ERROR_PARAM3); - - return EC_SUCCESS; -} - -static int test_command_pd_dualrole1(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "dualrole", "on", 0}; - - dr_state = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(dr_state == PD_DRP_TOGGLE_ON); - - return EC_SUCCESS; -} - -static int test_command_pd_dualrole2(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "dualrole", "off", 0}; - - dr_state = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(dr_state == PD_DRP_TOGGLE_OFF); - - return EC_SUCCESS; -} - -static int test_command_pd_dualrole3(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "dualrole", "freeze", 0}; - - dr_state = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(dr_state == PD_DRP_FREEZE); - - return EC_SUCCESS; -} - -static int test_command_pd_dualrole4(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "dualrole", "sink", 0}; - - dr_state = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(dr_state == PD_DRP_FORCE_SINK); - - return EC_SUCCESS; -} - -static int test_command_pd_dualrole5(void) -{ - int argc = 4; - char const *argv[] = {"pd", "0", "dualrole", "source", 0}; - - dr_state = 0; - TEST_ASSERT(command_pd(argc, argv) == EC_SUCCESS); - TEST_ASSERT(test_port == 0); - TEST_ASSERT(dr_state == PD_DRP_FORCE_SOURCE); - - return EC_SUCCESS; -} - - -void run_test(int argc, char **argv) -{ - test_reset(); - - RUN_TEST(test_hex8tou32); - RUN_TEST(test_command_pd_arg_count); - RUN_TEST(test_command_pd_port_num); - RUN_TEST(test_command_pd_try_src); - RUN_TEST(test_command_pd_tx); - RUN_TEST(test_command_pd_bist_tx); - RUN_TEST(test_command_pd_bist_rx); - RUN_TEST(test_command_pd_charger); - RUN_TEST(test_command_pd_dev1); - RUN_TEST(test_command_pd_dev2); - RUN_TEST(test_command_pd_disable); - RUN_TEST(test_command_pd_enable); - RUN_TEST(test_command_pd_hard); - RUN_TEST(test_command_pd_info); - RUN_TEST(test_command_pd_soft); - RUN_TEST(test_command_pd_swap1); - RUN_TEST(test_command_pd_swap2); - RUN_TEST(test_command_pd_swap3); - RUN_TEST(test_command_pd_swap4); - RUN_TEST(test_command_pd_swap5); - RUN_TEST(test_command_pd_ping); - RUN_TEST(test_command_pd_vdm1); - RUN_TEST(test_command_pd_vdm2); - RUN_TEST(test_command_pd_vdm3); - RUN_TEST(test_command_pd_vdm4); - RUN_TEST(test_command_pd_vdm5); - RUN_TEST(test_command_pd_vdm6); - RUN_TEST(test_command_pd_flash1); - RUN_TEST(test_command_pd_flash2); - RUN_TEST(test_command_pd_flash3); - RUN_TEST(test_command_pd_flash4); - RUN_TEST(test_command_pd_flash5); - RUN_TEST(test_command_pd_flash6); - RUN_TEST(test_command_pd_flash7); - RUN_TEST(test_command_pd_flash8); - RUN_TEST(test_command_pd_dualrole1); - RUN_TEST(test_command_pd_dualrole2); - RUN_TEST(test_command_pd_dualrole3); - RUN_TEST(test_command_pd_dualrole4); - RUN_TEST(test_command_pd_dualrole5); - - test_print_result(); -} - |