Merge "AuthGraph VTS: detect additional errors" into main am: f4cb6de19c am: f94f935add

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2838658

Change-Id: I80ccdec8a31f43c27b9df38e4cecd79bfe4ca3f1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
David Drysdale
2023-11-22 06:45:08 +00:00
committed by Automerger Merge Worker
3 changed files with 15 additions and 5 deletions

View File

@@ -50,6 +50,7 @@ cc_test {
rust_test {
name: "VtsAidlAuthGraphRoleTest",
srcs: ["role_test.rs"],
require_root: true,
test_suites: [
"general-tests",
"vts",

View File

@@ -22,13 +22,18 @@ use authgraph_vts_test as vts;
use android_hardware_security_authgraph::aidl::android::hardware::security::authgraph::{
IAuthGraphKeyExchange::IAuthGraphKeyExchange,
};
use binder::StatusCode;
const AUTH_GRAPH_NONSECURE: &str =
"android.hardware.security.authgraph.IAuthGraphKeyExchange/nonsecure";
/// Retrieve the /nonsecure instance of AuthGraph, which supports both sink and source roles.
fn get_nonsecure() -> Option<binder::Strong<dyn IAuthGraphKeyExchange>> {
binder::get_interface(AUTH_GRAPH_NONSECURE).ok()
match binder::get_interface(AUTH_GRAPH_NONSECURE) {
Ok(ag) => Some(ag),
Err(StatusCode::NAME_NOT_FOUND) => None,
Err(e) => panic!("failed to get AuthGraph/nonsecure: {e:?}"),
}
}
/// Macro to require availability of a /nonsecure instance of AuthGraph.

View File

@@ -250,9 +250,13 @@ pub fn test_corrupt_key(
&corrupt_key,
);
let err = result.expect_err("expect failure with corrupt signature");
assert_eq!(
err,
binder::Status::new_service_specific_error(Error::INVALID_PRIV_KEY_ARC_IN_KEY.0, None)
let err = result.expect_err("expect failure with corrupt key");
assert!(
err == binder::Status::new_service_specific_error(Error::INVALID_KE_KEY.0, None)
|| err
== binder::Status::new_service_specific_error(
Error::INVALID_PRIV_KEY_ARC_IN_KEY.0,
None
)
);
}