summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-10 18:04:15 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-10 18:04:15 +0000
commit9962163229c9546aaf266463e241ad2adb33e672 (patch)
tree00be62bfb5e3548dc0d5a9fb1607fd975720ea0d
parent190817c7103536a3c206d0091f2a9a9908574390 (diff)
parentdf801a1c86b5fc337c423f09564bea4c093c6961 (diff)
downloadlibhidl-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.cpp21
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()) {