diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-02-10 18:04:15 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-02-10 18:04:15 +0000 |
commit | 9962163229c9546aaf266463e241ad2adb33e672 (patch) | |
tree | 00be62bfb5e3548dc0d5a9fb1607fd975720ea0d | |
parent | 190817c7103536a3c206d0091f2a9a9908574390 (diff) | |
parent | df801a1c86b5fc337c423f09564bea4c093c6961 (diff) | |
download | libhidl-9962163229c9546aaf266463e241ad2adb33e672.tar.gz |
vts_ibase_test: filter AIDL interfaces from init am: e2776771dc am: df801a1c86
Change-Id: Ie5ad8fb9394b0fbdc410e59439cd4682c321b6f1
-rw-r--r-- | transport/base/1.0/vts/functional/vts_ibase_test.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/transport/base/1.0/vts/functional/vts_ibase_test.cpp b/transport/base/1.0/vts/functional/vts_ibase_test.cpp index b77b2ad..4d3d6ab 100644 --- a/transport/base/1.0/vts/functional/vts_ibase_test.cpp +++ b/transport/base/1.0/vts/functional/vts_ibase_test.cpp @@ -232,10 +232,12 @@ TEST_F(VtsHalBaseV1_0TargetTest, HashChain) { } TEST_F(VtsHalBaseV1_0TargetTest, ServiceProvidesAndDeclaresTheSameInterfaces) { - Result<ServiceInterfacesMap> service_interfaces_map = + const Result<ServiceInterfacesMap> service_interfaces_map = android::init::GetOnDeviceServiceInterfacesMap(); ASSERT_TRUE(service_interfaces_map) << service_interfaces_map.error(); + std::map<std::string, std::set<FqInstance>> hidl_interfaces_map; + // Attempt to get handles to all known declared interfaces. This will cause // any non-running lazy HALs to start up. // Results are saved in gDeclaredServiceHalMap. @@ -243,8 +245,17 @@ TEST_F(VtsHalBaseV1_0TargetTest, ServiceProvidesAndDeclaresTheSameInterfaces) { if (declared_interfaces.empty()) { LOG(INFO) << "Service '" << service << "' does not declare any interfaces."; } - for (const auto& instance : declared_interfaces) { - std::thread(GetHal, service, instance).detach(); + for (const auto& interface : declared_interfaces) { + if (interface.find("aidl/") == 0) { + LOG(INFO) << "Not testing '" << service << "' AIDL interface: " << interface; + } else { + FqInstance fqInstance; + ASSERT_TRUE(fqInstance.setTo(interface)) + << "Unable to parse interface: '" << interface << "'"; + + std::thread(GetHal, service, fqInstance).detach(); + hidl_interfaces_map[service].insert(fqInstance); + } } } // Allow the threads 5 seconds to attempt to get each HAL. Any HAL whose @@ -269,8 +280,8 @@ TEST_F(VtsHalBaseV1_0TargetTest, ServiceProvidesAndDeclaresTheSameInterfaces) { // Warn for any threads that were stuck when attempting to retrieve a // HAL. std::vector<FqInstance> missing_declared_interfaces; - std::set_difference((*service_interfaces_map)[service].begin(), - (*service_interfaces_map)[service].end(), declared_interfaces.begin(), + std::set_difference(hidl_interfaces_map[service].begin(), + hidl_interfaces_map[service].end(), declared_interfaces.begin(), declared_interfaces.end(), std::back_inserter(missing_declared_interfaces)); if (!missing_declared_interfaces.empty()) { |