From bb44cd6ea18337e67c9ef97b5756c5dd9d1a163a Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Fri, 7 Feb 2020 13:39:35 -0800 Subject: [PATCH] libinit_test_utils: don't assume interface format These can be AIDL or HIDL interfaces. Avoiding assuming the format here. Bug: 141008902 Test: vts_ibase_test Change-Id: If60367e3a46c74a1d28548379655f5e211f58b73 --- .../include/init-test-utils/service_utils.h | 11 ++++++++++- init/test_utils/service_utils.cpp | 9 +-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/init/test_utils/include/init-test-utils/service_utils.h b/init/test_utils/include/init-test-utils/service_utils.h index 3ec61d480..1b59c7ba2 100644 --- a/init/test_utils/include/init-test-utils/service_utils.h +++ b/init/test_utils/include/init-test-utils/service_utils.h @@ -25,7 +25,16 @@ namespace android { namespace init { -using ServiceInterfacesMap = std::map>; +// this is service name -> interface declaration +// +// So, for: +// service foo .. +// interface aidl baz +// interface android.hardware.foo@1.0 IFoo +// +// We have: +// foo -> { aidl/baz, android.hardware.foo@1.0/IFoo } +using ServiceInterfacesMap = std::map>; android::base::Result GetOnDeviceServiceInterfacesMap(); } // namespace init diff --git a/init/test_utils/service_utils.cpp b/init/test_utils/service_utils.cpp index bc0070268..ae68679bd 100644 --- a/init/test_utils/service_utils.cpp +++ b/init/test_utils/service_utils.cpp @@ -47,14 +47,7 @@ android::base::Result GetOnDeviceServiceInterfacesMap() { for (const auto& service : service_list.services()) { // Create an entry for all services, including services that may not // have any declared interfaces. - result[service->name()] = std::set(); - for (const auto& intf : service->interfaces()) { - android::FqInstance fqInstance; - if (!fqInstance.setTo(intf)) { - return android::base::Error() << "Unable to parse interface: '" << intf << "'"; - } - result[service->name()].insert(fqInstance); - } + result[service->name()] = service->interfaces(); } return result; }