Test: Don't check results when no type-c ports

For those devices without type-c ports, the queryPortStatus test is
always failed.Because there are no PortStatus for the callbacks.
Adding an additional condition branch to skip the results checking when
there are no PortStatus.

Bug: 281643316
(https://partnerissuetracker.corp.google.com/issues/281643316)
Change-Id: Ibf599038b542d5d81a2af9ab2097f2f868be0447
Signed-off-by: Haotien Hsu <haotienh@nvidia.com>
This commit is contained in:
Haotien Hsu
2023-05-08 18:46:14 +08:00
parent fd48e195bb
commit 392d530a64

View File

@@ -95,6 +95,7 @@ class UsbCallback : public ::testing::VtsHalHidlTargetCallbackBase<UsbClientCall
Status retval) override {
UsbClientCallbackArgs arg;
if (retval == Status::SUCCESS) {
arg.usb_last_port_status.status.portName = currentPortStatus[0].status.portName.c_str();
arg.usb_last_port_status.status.supportedModes =
currentPortStatus[0].status.supportedModes;
arg.usb_last_port_status.status.currentMode = currentPortStatus[0].status.currentMode;
@@ -165,9 +166,12 @@ TEST_P(UsbHidlTest, queryPortStatus) {
auto res = usb_cb_2->WaitForCallback(kCallbackNameNotifyPortStatusChange_1_1);
EXPECT_TRUE(res.no_timeout);
EXPECT_EQ(2, res.args->last_usb_cookie);
EXPECT_EQ(PortMode::NONE, res.args->usb_last_port_status.status.currentMode);
EXPECT_EQ(PortMode::NONE, res.args->usb_last_port_status.status.supportedModes);
EXPECT_EQ(Status::SUCCESS, res.args->usb_last_status);
// if there are no type-c ports, skip below checks
if (!res.args->usb_last_port_status.status.portName.empty()) {
EXPECT_EQ(PortMode::NONE, res.args->usb_last_port_status.status.currentMode);
EXPECT_EQ(PortMode::NONE, res.args->usb_last_port_status.status.supportedModes);
EXPECT_EQ(Status::SUCCESS, res.args->usb_last_status);
}
}
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(UsbHidlTest);
INSTANTIATE_TEST_SUITE_P(