in optee-utee/src/extension.rs [263:307]
fn test_invoke_with_capacity() {
let plugin = LoadablePlugin {
uuid: Uuid::parse_str("7dd54ee6-a705-4e4d-8b6b-aa5024dfcd10").unwrap(),
};
const RESPONSE_LEN: usize = 32;
// test calling with output size less than input
let (cmd, sub_cmd, request, exp_response) =
generate_test_pairs(2 * RESPONSE_LEN, RESPONSE_LEN);
set_ree_expected_value(cmd, sub_cmd, request.clone());
set_ree_return_value(cmd, sub_cmd, exp_response.clone());
let response = plugin
.invoke_with_capacity(cmd, sub_cmd, exp_response.len())
.chain_write_body(&request)
.call()
.unwrap();
std::println!("*TA*: response is {:?}", response);
assert_eq!(response, exp_response);
// test calling with output size equals to input
let (cmd, sub_cmd, request, exp_response) = generate_test_pairs(RESPONSE_LEN, RESPONSE_LEN);
set_ree_expected_value(cmd, sub_cmd, request.clone());
set_ree_return_value(cmd, sub_cmd, exp_response.clone());
let response = plugin
.invoke_with_capacity(cmd, sub_cmd, exp_response.len())
.chain_write_body(&request)
.call()
.unwrap();
std::println!("*TA*: response is {:?}", response);
assert_eq!(response, exp_response);
// test calling with output size greater than input
let (cmd, sub_cmd, mut request, exp_response) =
generate_test_pairs(RESPONSE_LEN / 2, RESPONSE_LEN);
request.resize(exp_response.len(), 0);
set_ree_expected_value(cmd, sub_cmd, request.clone());
set_ree_return_value(cmd, sub_cmd, exp_response.clone());
let response = plugin
.invoke_with_capacity(cmd, sub_cmd, exp_response.len())
.chain_write_body(&request)
.call()
.unwrap();
std::println!("*TA*: response is {:?}", response);
assert_eq!(response, exp_response);
}