[avb] Improve error reporting when parsing descriptors from VBMeta

Prior to this cl, the only error that was reported was an
InvalidMetadata error when the descriptors failed to parse.

This cl enhances the error reporting by saving the internal error
that occurred during the parsing process and passing it along to
a new InvalidDescriptors error.

Test: atest libpvmfw_avb.integration_test
Bug: 279557218
Change-Id: Id90267e137c09d3604ef069b1aef9fa4dc8d9ad8
diff --git a/pvmfw/avb/tests/api_test.rs b/pvmfw/avb/tests/api_test.rs
index 78f274a..a4a33f7 100644
--- a/pvmfw/avb/tests/api_test.rs
+++ b/pvmfw/avb/tests/api_test.rs
@@ -18,7 +18,7 @@
 
 use anyhow::{anyhow, Result};
 use avb_bindgen::{AvbFooter, AvbVBMetaImageHeader};
-use pvmfw_avb::{verify_payload, AvbSlotVerifyError, DebugLevel, VerifiedBootData};
+use pvmfw_avb::{verify_payload, AvbIOError, AvbSlotVerifyError, DebugLevel, VerifiedBootData};
 use std::{fs, mem::size_of, ptr};
 use utils::*;
 
@@ -79,7 +79,7 @@
         &fs::read(TEST_IMG_WITH_NON_INITRD_HASHDESC_PATH)?,
         /*initrd=*/ None,
         &load_trusted_public_key()?,
-        AvbSlotVerifyError::InvalidMetadata,
+        AvbSlotVerifyError::InvalidDescriptors(AvbIOError::NoSuchPartition),
     )
 }
 
@@ -89,7 +89,7 @@
         &fs::read(TEST_IMG_WITH_INITRD_AND_NON_INITRD_DESC_PATH)?,
         &load_latest_initrd_normal()?,
         &load_trusted_public_key()?,
-        AvbSlotVerifyError::InvalidMetadata,
+        AvbSlotVerifyError::InvalidDescriptors(AvbIOError::NoSuchPartition),
     )
 }
 
@@ -99,7 +99,7 @@
         &fs::read(TEST_IMG_WITH_PROP_DESC_PATH)?,
         /*initrd=*/ None,
         &load_trusted_public_key()?,
-        AvbSlotVerifyError::InvalidMetadata,
+        AvbSlotVerifyError::InvalidDescriptors(AvbIOError::NoSuchValue),
     )
 }