Allow avb.vbmeta-version to be missing from compat mat
For non verified boot devices, vbmeta-version doesn't
make sense. So allow it to be missing from compatibility
matrix.
Test: libvintf_test
Bug: 35322304
Change-Id: I6583c65c28441dec5f7f5f4520fd18a2a22f89e0
diff --git a/test/main.cpp b/test/main.cpp
index c7a243f..b5b6b18 100644
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -69,6 +69,9 @@
void setAvb(CompatibilityMatrix &cm, Version &&avbVersion) {
cm.framework.mAvbMetaVersion = avbVersion;
}
+ Version getAvb(CompatibilityMatrix &cm) {
+ return cm.framework.mAvbMetaVersion;
+ }
const ManifestHal *getAnyHal(HalManifest &vm, const std::string &name) {
return vm.getAnyHal(name);
}
@@ -625,6 +628,20 @@
}
}
+TEST_F(LibVintfTest, MissingAvb) {
+ std::string xml =
+ "<compatibility-matrix version=\"1.0\" type=\"framework\">\n"
+ " <kernel version=\"3.18.31\"></kernel>"
+ " <sepolicy>\n"
+ " <kernel-sepolicy-version>30</kernel-sepolicy-version>\n"
+ " <sepolicy-version>25.5</sepolicy-version>\n"
+ " </sepolicy>\n"
+ "</compatibility-matrix>\n";
+ CompatibilityMatrix cm;
+ EXPECT_TRUE(gCompatibilityMatrixConverter(&cm, xml));
+ EXPECT_EQ(getAvb(cm), Version(0, 0));
+}
+
TEST_F(LibVintfTest, Compat) {
std::string manifestXml =
"<manifest version=\"1.0\" type=\"device\">\n"