fn test_invoke_with_capacity()

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);
    }