Skip VTS tests based on HAL interface version
Adds version check to compliance warning, plug orientation, and
DisplayPort VTS tests to skip if feature is not supported. Fixed tab
spacing on mentioned tests.
Bug: 265060163
Test: atest VtsAidlUsbTargetTest
Change-Id: If3e04baa98fa3299f128551e3b93debd729f57e3
diff --git a/usb/aidl/vts/VtsAidlUsbTargetTest.cpp b/usb/aidl/vts/VtsAidlUsbTargetTest.cpp
index 2ec5a2c..480c826 100644
--- a/usb/aidl/vts/VtsAidlUsbTargetTest.cpp
+++ b/usb/aidl/vts/VtsAidlUsbTargetTest.cpp
@@ -253,6 +253,9 @@
std::mutex usb_mtx;
std::condition_variable usb_cv;
int usb_count = 0;
+
+ // Stores usb version
+ int32_t usb_version;
};
/*
@@ -295,6 +298,12 @@
int disabledCount = 0;
ALOGI("UsbAidlTest DataStatusCheck start");
+ auto retVersion = usb->getInterfaceVersion(&usb_version);
+ ASSERT_TRUE(retVersion.isOk()) << retVersion;
+ if (usb_version < 2) {
+ ALOGI("UsbAidlTest skipping DataStatusCheck on older interface versions");
+ GTEST_SKIP();
+ }
int64_t transactionId = rand() % 10000;
const auto& ret = usb->queryPortStatus(transactionId);
ASSERT_TRUE(ret.isOk());
@@ -603,19 +612,25 @@
* supportsComplianceWarning is false.
*/
TEST_P(UsbAidlTest, nonCompliantChargerStatus) {
- ALOGI("UsbAidlTest nonCompliantChargerStatus start");
- int64_t transactionId = rand() % 10000;
- const auto& ret = usb->queryPortStatus(transactionId);
- ASSERT_TRUE(ret.isOk());
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(2, usb_last_cookie);
- EXPECT_EQ(transactionId, last_transactionId);
+ ALOGI("UsbAidlTest nonCompliantChargerStatus start");
+ auto retVersion = usb->getInterfaceVersion(&usb_version);
+ ASSERT_TRUE(retVersion.isOk()) << retVersion;
+ if (usb_version < 2) {
+ ALOGI("UsbAidlTest skipping nonCompliantChargerStatus on older interface versions");
+ GTEST_SKIP();
+ }
+ int64_t transactionId = rand() % 10000;
+ const auto& ret = usb->queryPortStatus(transactionId);
+ ASSERT_TRUE(ret.isOk());
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(2, usb_last_cookie);
+ EXPECT_EQ(transactionId, last_transactionId);
- if (!usb_last_port_status.supportsComplianceWarnings) {
- EXPECT_TRUE(usb_last_port_status.complianceWarnings.empty());
- }
+ if (!usb_last_port_status.supportsComplianceWarnings) {
+ EXPECT_TRUE(usb_last_port_status.complianceWarnings.empty());
+ }
- ALOGI("UsbAidlTest nonCompliantChargerStatus end");
+ ALOGI("UsbAidlTest nonCompliantChargerStatus end");
}
/*
@@ -624,39 +639,51 @@
* are valid.
*/
TEST_P(UsbAidlTest, nonCompliantChargerValues) {
- ALOGI("UsbAidlTest nonCompliantChargerValues start");
- int64_t transactionId = rand() % 10000;
- const auto& ret = usb->queryPortStatus(transactionId);
- ASSERT_TRUE(ret.isOk());
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(2, usb_last_cookie);
- EXPECT_EQ(transactionId, last_transactionId);
+ ALOGI("UsbAidlTest nonCompliantChargerValues start");
+ auto retVersion = usb->getInterfaceVersion(&usb_version);
+ ASSERT_TRUE(retVersion.isOk()) << retVersion;
+ if (usb_version < 2) {
+ ALOGI("UsbAidlTest skipping nonCompliantChargerValues on older interface versions");
+ GTEST_SKIP();
+ }
+ int64_t transactionId = rand() % 10000;
+ const auto& ret = usb->queryPortStatus(transactionId);
+ ASSERT_TRUE(ret.isOk());
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(2, usb_last_cookie);
+ EXPECT_EQ(transactionId, last_transactionId);
- // Current compliance values range from [1, 4]
- if (usb_last_port_status.supportsComplianceWarnings) {
- for (auto warning : usb_last_port_status.complianceWarnings) {
- EXPECT_TRUE((int)warning >= (int)ComplianceWarning::OTHER);
- EXPECT_TRUE((int)warning <= (int)ComplianceWarning::MISSING_RP);
- }
+ // Current compliance values range from [1, 4]
+ if (usb_last_port_status.supportsComplianceWarnings) {
+ for (auto warning : usb_last_port_status.complianceWarnings) {
+ EXPECT_TRUE((int)warning >= (int)ComplianceWarning::OTHER);
+ EXPECT_TRUE((int)warning <= (int)ComplianceWarning::MISSING_RP);
}
+ }
- ALOGI("UsbAidlTest nonCompliantChargerValues end");
+ ALOGI("UsbAidlTest nonCompliantChargerValues end");
}
/*
* Test PlugOrientation Values are within range in PortStatus
*/
TEST_P(UsbAidlTest, plugOrientationValues) {
- ALOGI("UsbAidlTest plugOrientationValues start");
- int64_t transactionId = rand() % 10000;
- const auto& ret = usb->queryPortStatus(transactionId);
- ASSERT_TRUE(ret.isOk());
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(2, usb_last_cookie);
- EXPECT_EQ(transactionId, last_transactionId);
+ ALOGI("UsbAidlTest plugOrientationValues start");
+ auto retVersion = usb->getInterfaceVersion(&usb_version);
+ ASSERT_TRUE(retVersion.isOk()) << retVersion;
+ if (usb_version < 2) {
+ ALOGI("UsbAidlTest skipping plugOrientationValues on older interface versions");
+ GTEST_SKIP();
+ }
+ int64_t transactionId = rand() % 10000;
+ const auto& ret = usb->queryPortStatus(transactionId);
+ ASSERT_TRUE(ret.isOk());
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(2, usb_last_cookie);
+ EXPECT_EQ(transactionId, last_transactionId);
- EXPECT_TRUE((int)usb_last_port_status.plugOrientation >= (int)PlugOrientation::UNKNOWN);
- EXPECT_TRUE((int)usb_last_port_status.plugOrientation <= (int)PlugOrientation::PLUGGED_FLIPPED);
+ EXPECT_TRUE((int)usb_last_port_status.plugOrientation >= (int)PlugOrientation::UNKNOWN);
+ EXPECT_TRUE((int)usb_last_port_status.plugOrientation <= (int)PlugOrientation::PLUGGED_FLIPPED);
}
/*
@@ -664,37 +691,43 @@
* is active.
*/
TEST_P(UsbAidlTest, dpAltModeValues) {
- ALOGI("UsbAidlTest dpAltModeValues start");
- int64_t transactionId = rand() % 10000;
- const auto& ret = usb->queryPortStatus(transactionId);
- ASSERT_TRUE(ret.isOk());
- EXPECT_EQ(std::cv_status::no_timeout, wait());
- EXPECT_EQ(2, usb_last_cookie);
- EXPECT_EQ(transactionId, last_transactionId);
+ ALOGI("UsbAidlTest dpAltModeValues start");
+ auto retVersion = usb->getInterfaceVersion(&usb_version);
+ ASSERT_TRUE(retVersion.isOk()) << retVersion;
+ if (usb_version < 2) {
+ ALOGI("UsbAidlTest skipping dpAltModeValues on older interface versions");
+ GTEST_SKIP();
+ }
+ int64_t transactionId = rand() % 10000;
+ const auto& ret = usb->queryPortStatus(transactionId);
+ ASSERT_TRUE(ret.isOk());
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(2, usb_last_cookie);
+ EXPECT_EQ(transactionId, last_transactionId);
- // Discover DisplayPort Alt Mode
- for (AltModeData altMode : usb_last_port_status.supportedAltModes) {
- if (altMode.getTag() == AltModeData::displayPortAltModeData) {
- AltModeData::DisplayPortAltModeData displayPortAltModeData =
- altMode.get<AltModeData::displayPortAltModeData>();
- EXPECT_TRUE((int)displayPortAltModeData.partnerSinkStatus >=
- (int)DisplayPortAltModeStatus::UNKNOWN);
- EXPECT_TRUE((int)displayPortAltModeData.partnerSinkStatus <=
- (int)DisplayPortAltModeStatus::ENABLED);
+ // Discover DisplayPort Alt Mode
+ for (AltModeData altMode : usb_last_port_status.supportedAltModes) {
+ if (altMode.getTag() == AltModeData::displayPortAltModeData) {
+ AltModeData::DisplayPortAltModeData displayPortAltModeData =
+ altMode.get<AltModeData::displayPortAltModeData>();
+ EXPECT_TRUE((int)displayPortAltModeData.partnerSinkStatus >=
+ (int)DisplayPortAltModeStatus::UNKNOWN);
+ EXPECT_TRUE((int)displayPortAltModeData.partnerSinkStatus <=
+ (int)DisplayPortAltModeStatus::ENABLED);
- EXPECT_TRUE((int)displayPortAltModeData.cableStatus >=
- (int)DisplayPortAltModeStatus::UNKNOWN);
- EXPECT_TRUE((int)displayPortAltModeData.cableStatus <=
- (int)DisplayPortAltModeStatus::ENABLED);
+ EXPECT_TRUE((int)displayPortAltModeData.cableStatus >=
+ (int)DisplayPortAltModeStatus::UNKNOWN);
+ EXPECT_TRUE((int)displayPortAltModeData.cableStatus <=
+ (int)DisplayPortAltModeStatus::ENABLED);
- EXPECT_TRUE((int)displayPortAltModeData.pinAssignment >=
- (int)DisplayPortAltModePinAssignment::NONE);
- EXPECT_TRUE((int)displayPortAltModeData.pinAssignment <=
- (int)DisplayPortAltModePinAssignment::F);
- }
+ EXPECT_TRUE((int)displayPortAltModeData.pinAssignment >=
+ (int)DisplayPortAltModePinAssignment::NONE);
+ EXPECT_TRUE((int)displayPortAltModeData.pinAssignment <=
+ (int)DisplayPortAltModePinAssignment::F);
}
+ }
- ALOGI("UsbAidlTest dpAltModeValues end");
+ ALOGI("UsbAidlTest dpAltModeValues end");
}
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(UsbAidlTest);