diff options
author | Jett Rink <jettrink@chromium.org> | 2019-08-08 09:35:54 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-20 16:05:48 +0000 |
commit | 6d8a5d3f207af7481e2aa114d306f8448d21b74f (patch) | |
tree | 6973f68a16c250eec28f05562e341d03d52ccd59 | |
parent | 7a07137ff8861509b5942a82de1c46b376c6057a (diff) | |
download | chrome-ec-6d8a5d3f207af7481e2aa114d306f8448d21b74f.tar.gz |
test: add baseline test for TC_DRP_TRYSRC SM
BRANCH=none
BUG=none
TEST=unit test pass
Change-Id: I0ecb9f0298fd43ca0db800311a309d98eb1e29b5
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1744658
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 12 | ||||
-rw-r--r-- | test/build.mk | 3 | ||||
-rw-r--r-- | test/test_config.h | 30 | ||||
-rw-r--r-- | test/usb_typec_drp_acc_trysrc.c | 32 | ||||
-rw-r--r-- | test/usb_typec_drp_acc_trysrc.tasklist | 10 |
5 files changed, 78 insertions, 9 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index 8ec7e8ffbc..896ffffdd1 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -1706,3 +1706,15 @@ static const struct usb_state tc_states[] = { }, #endif /* CONFIG_USB_PD_TRY_SRC */ }; + +#ifdef TEST_BUILD +const struct test_sm_data test_tc_sm_data[] = { + { + .base = tc_states, + .size = ARRAY_SIZE(tc_states), + .names = tc_state_names, + .names_size = ARRAY_SIZE(tc_state_names), + }, +}; +const int test_tc_sm_data_size = ARRAY_SIZE(test_tc_sm_data); +#endif diff --git a/test/build.mk b/test/build.mk index b90f976430..8d68da07f5 100644 --- a/test/build.mk +++ b/test/build.mk @@ -73,6 +73,7 @@ test-list-host += usb_sm_framework_h1 test-list-host += usb_sm_framework_h0 test-list-host += usb_typec_vpd test-list-host += usb_typec_ctvpd +test-list-host += usb_typec_drp_acc_trysrc test-list-host += usb_prl test-list-host += utils test-list-host += utils_str @@ -145,6 +146,8 @@ usb_sm_framework_h1-y=usb_sm_framework_h3.o usb_sm_framework_h0-y=usb_sm_framework_h3.o usb_typec_vpd-y=usb_typec_ctvpd.o vpd_api.o usb_sm_checks.o usb_typec_ctvpd-y=usb_typec_ctvpd.o vpd_api.o usb_sm_checks.o +usb_typec_drp_acc_trysrc-y=usb_typec_drp_acc_trysrc.o vpd_api.o \ + usb_sm_checks.o usb_prl-y=usb_prl.o usb_sm_checks.o utils-y=utils.o utils_str-y=utils_str.o diff --git a/test/test_config.h b/test/test_config.h index 1ca557bbef..de3753a71c 100644 --- a/test/test_config.h +++ b/test/test_config.h @@ -276,13 +276,10 @@ int ncp15wb_calculate_temp(uint16_t adc); #define CONFIG_SW_CRC #endif -#if defined(TEST_USB_TYPEC_VPD) || defined(TEST_USB_TYPEC_CTVPD) -#if defined(TEST_USB_TYPEC_VPD) -#define CONFIG_USB_TYPEC_VPD -#else -#define CONFIG_USB_TYPEC_CTVPD -#endif - +/* Common TypeC tests defines */ +#if defined(TEST_USB_TYPEC_VPD) || \ + defined(TEST_USB_TYPEC_CTVPD) || \ + defined(TEST_USB_TYPEC_DRP_ACC_TRYSRC) #define CONFIG_USB_PID 0x5036 #define VPD_HW_VERSION 0x0001 #define VPD_FW_VERSION 0x0001 @@ -302,9 +299,24 @@ int ncp15wb_calculate_temp(uint16_t adc); #define CONFIG_USB_PD_TCPC #define CONFIG_USB_PD_TCPM_STUB #define CONFIG_USB_POWER_DELIVERY -#define CONFIG_SHA256 #define CONFIG_SW_CRC -#endif /* TEST_USB_TYPEC_VPD or TEST_USB_TYPEC_CTVPD */ +#endif /* Common TypeC test defines */ + +#ifdef TEST_USB_TYPEC_VPD +#define CONFIG_USB_TYPEC_VPD +#endif + +#ifdef TEST_USB_TYPEC_CTVPD +#define CONFIG_USB_TYPEC_CTVPD +#endif + +#ifdef TEST_USB_TYPEC_DRP_ACC_TRYSRC +#define CONFIG_USB_TYPEC_DRP_ACC_TRYSRC +#define CONFIG_USB_PD_DUAL_ROLE +#define CONFIG_USB_PD_TRY_SRC +#undef CONFIG_USB_PRL_SM +#undef CONFIG_USB_PE_SM +#endif #if defined(TEST_USB_PD) || defined(TEST_USB_PD_GIVEBACK) || \ defined(TEST_USB_PD_REV30) diff --git a/test/usb_typec_drp_acc_trysrc.c b/test/usb_typec_drp_acc_trysrc.c new file mode 100644 index 0000000000..ffc2a896c3 --- /dev/null +++ b/test/usb_typec_drp_acc_trysrc.c @@ -0,0 +1,32 @@ +/* Copyright 2019 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 Type-C VPD and CTVPD module. + */ +#include "task.h" +#include "timer.h" +#include "test_util.h" +#include "usb_sm_checks.h" +#include "charge_manager.h" + +void charge_manager_set_ceil(int port, enum ceil_requestor requestor, int ceil) +{ + /* Do Nothing, but needed for linking */ +} + +void run_test(void) +{ + test_reset(); + + /* Ensure that PD task initializes its state machine */ + task_wake(TASK_ID_PD_C0); + task_wait_event(5 * MSEC); + + /* Do basic state machine sanity checks last. */ + RUN_TEST(test_tc_no_parent_cycles); + RUN_TEST(test_tc_no_empty_state); + RUN_TEST(test_tc_all_states_named); + + test_print_result(); +} diff --git a/test/usb_typec_drp_acc_trysrc.tasklist b/test/usb_typec_drp_acc_trysrc.tasklist new file mode 100644 index 0000000000..eb41326e3e --- /dev/null +++ b/test/usb_typec_drp_acc_trysrc.tasklist @@ -0,0 +1,10 @@ +/* Copyright 2019 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. + */ + +/** + * See CONFIG_TEST_TASK_LIST in config.h for details. + */ +#define CONFIG_TEST_TASK_LIST \ + TASK_TEST(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) |