mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Convert VtsHalUsbV1_2TargetTest to parameterized gtest
Bug: 150383827 Test: atest VtsHalUsbV1_2TargetTest Change-Id: I5728bbe76b4dda32eab67535f4726131dee152c3
This commit is contained in:
@@ -23,6 +23,8 @@ cc_test {
|
||||
"android.hardware.usb@1.1",
|
||||
"android.hardware.usb@1.2",
|
||||
],
|
||||
test_suites: ["general-tests"],
|
||||
test_suites: [
|
||||
"general-tests",
|
||||
"vts",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@@ -22,8 +22,10 @@
|
||||
#include <android/hardware/usb/1.2/types.h>
|
||||
|
||||
#include <VtsHalHidlTargetCallbackBase.h>
|
||||
#include <VtsHalHidlTargetTestBase.h>
|
||||
#include <VtsHalHidlTargetTestEnvBase.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hidl/GtestPrinter.h>
|
||||
#include <hidl/ServiceManagement.h>
|
||||
|
||||
#include <log/log.h>
|
||||
#include <stdlib.h>
|
||||
#include <chrono>
|
||||
@@ -139,24 +141,12 @@ class UsbCallback : public ::testing::VtsHalHidlTargetCallbackBase<UsbClientCall
|
||||
};
|
||||
};
|
||||
|
||||
// Test environment for Usb HIDL HAL.
|
||||
class UsbHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
|
||||
public:
|
||||
// get the test environment singleton
|
||||
static UsbHidlEnvironment* Instance() {
|
||||
static UsbHidlEnvironment* instance = new UsbHidlEnvironment;
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual void registerTestServices() override { registerTestService<IUsb>(); }
|
||||
};
|
||||
|
||||
// The main test class for the USB hidl HAL
|
||||
class UsbHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
public:
|
||||
class UsbHidlTest : public ::testing::TestWithParam<std::string> {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
ALOGI(__FUNCTION__);
|
||||
usb = ::testing::VtsHalHidlTargetTestBase::getService<IUsb>();
|
||||
usb = IUsb::getService(GetParam());
|
||||
ASSERT_NE(usb, nullptr);
|
||||
|
||||
usb_cb_2 = new UsbCallback(kCallbackIdentifier);
|
||||
@@ -182,7 +172,7 @@ class UsbHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
* Callback oject is created and registered.
|
||||
* Check to see if the hidl transaction succeeded.
|
||||
*/
|
||||
TEST_F(UsbHidlTest, setCallback) {
|
||||
TEST_P(UsbHidlTest, setCallback) {
|
||||
usb_cb_1 = new UsbCallback(1);
|
||||
ASSERT_NE(usb_cb_1, nullptr);
|
||||
Return<void> ret = usb->setCallback(usb_cb_1);
|
||||
@@ -195,7 +185,7 @@ TEST_F(UsbHidlTest, setCallback) {
|
||||
* HAL service should call notifyPortStatusChange_1_2
|
||||
* instead of notifyPortStatusChange of V1_0/V1_1 interface
|
||||
*/
|
||||
TEST_F(UsbHidlTest, queryPortStatus) {
|
||||
TEST_P(UsbHidlTest, queryPortStatus) {
|
||||
Return<void> ret = usb->queryPortStatus();
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
auto res = usb_cb_2->WaitForCallback(kCallbackNameNotifyPortStatusChange_1_2);
|
||||
@@ -211,7 +201,7 @@ TEST_F(UsbHidlTest, queryPortStatus) {
|
||||
* Check if supportedContaminantProtectionModes changes across queryPortStatus
|
||||
* call.
|
||||
*/
|
||||
TEST_F(UsbHidlTest, checkSupportedContaminantProtectionModes) {
|
||||
TEST_P(UsbHidlTest, checkSupportedContaminantProtectionModes) {
|
||||
Return<void> ret = usb->queryPortStatus();
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
auto res = usb_cb_2->WaitForCallback(kCallbackNameNotifyPortStatusChange_1_2);
|
||||
@@ -243,7 +233,7 @@ TEST_F(UsbHidlTest, checkSupportedContaminantProtectionModes) {
|
||||
* enableContaminantPresenceDetection should not enable/disable
|
||||
* contaminantPresenceProtection.
|
||||
*/
|
||||
TEST_F(UsbHidlTest, presenceDetectionSupportedCheck) {
|
||||
TEST_P(UsbHidlTest, presenceDetectionSupportedCheck) {
|
||||
Return<void> ret = usb->queryPortStatus();
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
auto res = usb_cb_2->WaitForCallback(kCallbackNameNotifyPortStatusChange_1_2);
|
||||
@@ -272,7 +262,7 @@ TEST_F(UsbHidlTest, presenceDetectionSupportedCheck) {
|
||||
/*
|
||||
* enableContaminantPresenceDetection should succeed atleast 90% when supported.
|
||||
*/
|
||||
TEST_F(UsbHidlTest, contaminantPresenceDetectionStability) {
|
||||
TEST_P(UsbHidlTest, contaminantPresenceDetectionStability) {
|
||||
int successCount = 0;
|
||||
bool currentStatus;
|
||||
bool supported = true;
|
||||
@@ -309,7 +299,7 @@ TEST_F(UsbHidlTest, contaminantPresenceDetectionStability) {
|
||||
* enableContaminantPresenceProtection should not enable/disable
|
||||
* contaminantPresenceProtection.
|
||||
*/
|
||||
TEST_F(UsbHidlTest, presenceProtectionSupportedCheck) {
|
||||
TEST_P(UsbHidlTest, presenceProtectionSupportedCheck) {
|
||||
Return<void> ret = usb->queryPortStatus();
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
auto res = usb_cb_2->WaitForCallback(kCallbackNameNotifyPortStatusChange_1_2);
|
||||
@@ -338,7 +328,7 @@ TEST_F(UsbHidlTest, presenceProtectionSupportedCheck) {
|
||||
/*
|
||||
* enableContaminantPresenceProtection should succeed atleast 90% when supported.
|
||||
*/
|
||||
TEST_F(UsbHidlTest, contaminantPresenceProtectionStability) {
|
||||
TEST_P(UsbHidlTest, contaminantPresenceProtectionStability) {
|
||||
int successCount = 0;
|
||||
bool currentStatus;
|
||||
bool supported = true;
|
||||
@@ -370,11 +360,7 @@ TEST_F(UsbHidlTest, contaminantPresenceProtectionStability) {
|
||||
if (!supported) EXPECT_GE(successCount, 9);
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
::testing::AddGlobalTestEnvironment(UsbHidlEnvironment::Instance());
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
UsbHidlEnvironment::Instance()->init(&argc, argv);
|
||||
int status = RUN_ALL_TESTS();
|
||||
ALOGI("Test result = %d", status);
|
||||
return status;
|
||||
}
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
PerInstance, UsbHidlTest,
|
||||
testing::ValuesIn(android::hardware::getAllHalInstanceNames(IUsb::descriptor)),
|
||||
android::hardware::PrintInstanceNameToString);
|
||||
|
||||
Reference in New Issue
Block a user