chrome-ec/test/usb_common_test.c

75 lines
2.6 KiB
C

/* 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 common module.
*/
#include "test_util.h"
#include "usb_common.h"
int test_pd_get_cc_state(void)
{
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_3_0, TYPEC_CC_VOLT_RP_3_0),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_3_0, TYPEC_CC_VOLT_RP_1_5),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_3_0, TYPEC_CC_VOLT_RP_DEF),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_1_5, TYPEC_CC_VOLT_RP_3_0),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_1_5, TYPEC_CC_VOLT_RP_1_5),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_1_5, TYPEC_CC_VOLT_RP_DEF),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_DEF, TYPEC_CC_VOLT_RP_3_0),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_DEF, TYPEC_CC_VOLT_RP_1_5),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_DEF, TYPEC_CC_VOLT_RP_DEF),
PD_CC_DFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_3_0, TYPEC_CC_VOLT_OPEN),
PD_CC_DFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_1_5, TYPEC_CC_VOLT_OPEN),
PD_CC_DFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RP_DEF, TYPEC_CC_VOLT_OPEN),
PD_CC_DFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_OPEN, TYPEC_CC_VOLT_RP_3_0),
PD_CC_DFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_OPEN, TYPEC_CC_VOLT_RP_1_5),
PD_CC_DFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_OPEN, TYPEC_CC_VOLT_RP_DEF),
PD_CC_DFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RD, TYPEC_CC_VOLT_RD),
PD_CC_UFP_DEBUG_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RD, TYPEC_CC_VOLT_RA),
PD_CC_UFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RD, TYPEC_CC_VOLT_OPEN),
PD_CC_UFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RA, TYPEC_CC_VOLT_RD),
PD_CC_UFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_OPEN, TYPEC_CC_VOLT_RD),
PD_CC_UFP_ATTACHED, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RA, TYPEC_CC_VOLT_RA),
PD_CC_UFP_AUDIO_ACC, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_OPEN, TYPEC_CC_VOLT_OPEN),
PD_CC_NONE, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_OPEN, TYPEC_CC_VOLT_RA),
PD_CC_NONE, "%d");
TEST_EQ(pd_get_cc_state(TYPEC_CC_VOLT_RA, TYPEC_CC_VOLT_OPEN),
PD_CC_NONE, "%d");
return EC_SUCCESS;
}
void run_test(int argc, char **argv)
{
RUN_TEST(test_pd_get_cc_state);
test_print_result();
}