Additional test for hidl registering.
Make sure other registered interfaces are left untouched
even if they are the same instance.
Test: hidl_test
Change-Id: I2f7a3f1836d270addc7b46ff92c3aeb547e11828
diff --git a/test/hidl_test/hidl_test_client.cpp b/test/hidl_test/hidl_test_client.cpp
index aa3cded..5070733 100644
--- a/test/hidl_test/hidl_test_client.cpp
+++ b/test/hidl_test/hidl_test_client.cpp
@@ -612,10 +612,13 @@
using ::android::hardware::interfacesEqual;
const std::string kInstanceName = "no-matter-what-it-is";
+ const std::string kOtherName = "something-different";
+
sp<IChild> child = new SimpleChild();
sp<IParent> parent = new SimpleParent();
EXPECT_EQ(::android::OK, child->registerAsService(kInstanceName));
+ EXPECT_EQ(::android::OK, child->registerAsService(kOtherName));
EXPECT_TRUE(interfacesEqual(child, IChild::getService(kInstanceName)));
EXPECT_TRUE(interfacesEqual(child, IParent::getService(kInstanceName)));
@@ -626,6 +629,10 @@
// since binderized instance is nullptr
EXPECT_FALSE(interfacesEqual(parent, IChild::getService(kInstanceName)));
EXPECT_TRUE(interfacesEqual(parent, IParent::getService(kInstanceName)));
+
+ // other instance name is unchanged
+ EXPECT_TRUE(interfacesEqual(child, IChild::getService(kOtherName)));
+ EXPECT_TRUE(interfacesEqual(child, IParent::getService(kOtherName)));
}
// passthrough TODO(b/31959402)