Merge "AuthGraph VTS: detect additional errors" into main

This commit is contained in:
David Drysdale 2023-11-22 06:23:38 +00:00 committed by Gerrit Code Review
commit f4cb6de19c
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
)
);
}