Do not allow duplicated manifest.vendor-ndk.version.
As specified by VINTF doc in P, the following is not allowed:
<manifest...>
<vendor-ndk><version>27</version></vendor-ndk>
<vendor-ndk><version>27</version></vendor-ndk>
</manifest>
Test: libvintf_test
Change-Id: Ib9d42d2d75b7362c268597bc947c214e03dd5d00
Fixes: 72461606
diff --git a/test/LibVintfTest.cpp b/test/LibVintfTest.cpp
index 149afc5..ef19a4c 100644
--- a/test/LibVintfTest.cpp
+++ b/test/LibVintfTest.cpp
@@ -2410,6 +2410,23 @@
}
}
+TEST_F(LibVintfTest, DuplicatedVendorNdkVersion) {
+ std::string error;
+ HalManifest manifest;
+ std::string xml =
+ "<manifest version=\"1.0\" type=\"framework\">\n"
+ " <vendor-ndk>\n"
+ " <version>27</version>\n"
+ " </vendor-ndk>\n"
+ " <vendor-ndk>\n"
+ " <version>27</version>\n"
+ " </vendor-ndk>\n"
+ "</manifest>\n";
+
+ EXPECT_FALSE(gHalManifestConverter(&manifest, xml));
+ EXPECT_EQ("Duplicated manifest.vendor-ndk.version 27", gHalManifestConverter.lastError());
+}
+
TEST_F(LibVintfTest, ManifestHalOverride) {
HalManifest manifest;
std::string xml =