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"