test_suite_psa_crypto_driver_wrappers: add counter for cipher_update()

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti 2023-11-23 14:35:02 +01:00
parent 6ef82ae39d
commit 45337a8895
3 changed files with 5 additions and 3 deletions

View File

@ -26,9 +26,10 @@ typedef struct {
/* Count the amount of times one of the cipher driver functions is called. */
unsigned long hits;
unsigned long cipher_encrypt_hits;
unsigned long cipher_update_hits;
} mbedtls_test_driver_cipher_hooks_t;
#define MBEDTLS_TEST_DRIVER_CIPHER_INIT { NULL, 0, PSA_SUCCESS, 0, 0 }
#define MBEDTLS_TEST_DRIVER_CIPHER_INIT { NULL, 0, PSA_SUCCESS, 0, 0, 0 }
static inline mbedtls_test_driver_cipher_hooks_t
mbedtls_test_driver_cipher_hooks_init(void)
{

View File

@ -234,6 +234,7 @@ psa_status_t mbedtls_test_transparent_cipher_update(
size_t *output_length)
{
mbedtls_test_driver_cipher_hooks.hits++;
mbedtls_test_driver_cipher_hooks.cipher_update_hits++;
if (mbedtls_test_driver_cipher_hooks.forced_output != NULL) {
if (output_size < mbedtls_test_driver_cipher_hooks.forced_output_length) {

View File

@ -1489,7 +1489,7 @@ void cipher_entry_points(int alg_arg, int key_type_arg,
output[i] = 0xa5;
}
mbedtls_test_driver_cipher_hooks.cipher_encrypt_hits = 0;
mbedtls_test_driver_cipher_hooks.cipher_update_hits = 0;
status = psa_cipher_encrypt(
key, alg, input->x, input->len,
output, output_buffer_size, &function_output_length);
@ -1500,7 +1500,7 @@ void cipher_entry_points(int alg_arg, int key_type_arg,
* 1st access to the driver since "forced_status" is set. However this
* initial access happens in psa_cipher_update() (random number generation
* for IV) so psa_cipher_encrypt() never gets called. */
TEST_EQUAL(mbedtls_test_driver_cipher_hooks.cipher_encrypt_hits, 0);
TEST_EQUAL(mbedtls_test_driver_cipher_hooks.cipher_update_hits, 1);
#endif
TEST_EQUAL(status, PSA_ERROR_GENERIC_ERROR);
/*