mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-02-05 18:40:01 +00:00
Fix failures in psa_cryto_driver_wrappers suite
- "in-driver" test should depend on the present of a driver. - add new counter in key manangement driver test hook which counts the calls of generate_key. - We only care about the hits when processing `psa_generate_key`. Signed-off-by: Pengyu Lv <pengyu.lv@arm.com>
This commit is contained in:
parent
a44cab020e
commit
3bb89dc935
@ -26,8 +26,10 @@ typedef struct {
|
||||
/* Count the amount of times one of the key management driver functions
|
||||
* is called. */
|
||||
unsigned long hits;
|
||||
/* Subset of hits which only counts key operations with EC key */
|
||||
/* Subset of hits which only counts public key export operations */
|
||||
unsigned long hits_export_public_key;
|
||||
/* Subset of hits which only counts key generation operations */
|
||||
unsigned long hits_generate_key;
|
||||
/* Location of the last key management driver called to import a key. */
|
||||
psa_key_location_t location;
|
||||
} mbedtls_test_driver_key_management_hooks_t;
|
||||
@ -36,7 +38,7 @@ typedef struct {
|
||||
* sense that no PSA specification will assign a meaning to this location
|
||||
* (stated first in version 1.0.1 of the specification) and that it is not
|
||||
* used as a location of an opaque test drivers. */
|
||||
#define MBEDTLS_TEST_DRIVER_KEY_MANAGEMENT_INIT { NULL, 0, PSA_SUCCESS, 0, 0, 0x800000 }
|
||||
#define MBEDTLS_TEST_DRIVER_KEY_MANAGEMENT_INIT { NULL, 0, PSA_SUCCESS, 0, 0, 0, 0x800000 }
|
||||
static inline mbedtls_test_driver_key_management_hooks_t
|
||||
mbedtls_test_driver_key_management_hooks_init(void)
|
||||
{
|
||||
|
@ -193,6 +193,7 @@ psa_status_t mbedtls_test_transparent_generate_key(
|
||||
uint8_t *key, size_t key_size, size_t *key_length)
|
||||
{
|
||||
++mbedtls_test_driver_key_management_hooks.hits;
|
||||
++mbedtls_test_driver_key_management_hooks.hits_generate_key;
|
||||
|
||||
if (mbedtls_test_driver_key_management_hooks.forced_status != PSA_SUCCESS) {
|
||||
return mbedtls_test_driver_key_management_hooks.forced_status;
|
||||
|
@ -238,6 +238,7 @@ generate_ec_key through transparent driver: fake
|
||||
generate_ec_key:PSA_SUCCESS:"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_SUCCESS
|
||||
|
||||
generate_ec_key through transparent driver: in-driver
|
||||
depends_on:MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR_GENERATE
|
||||
generate_ec_key:PSA_SUCCESS:"":PSA_SUCCESS
|
||||
|
||||
generate_ec_key through transparent driver: fallback
|
||||
|
@ -782,13 +782,14 @@ void generate_ec_key(int force_status_arg,
|
||||
fake_output->len;
|
||||
}
|
||||
|
||||
mbedtls_test_driver_key_management_hooks.hits = 0;
|
||||
mbedtls_test_driver_key_management_hooks.forced_status = force_status;
|
||||
|
||||
PSA_ASSERT(psa_crypto_init());
|
||||
|
||||
mbedtls_test_driver_key_management_hooks.hits = 0;
|
||||
mbedtls_test_driver_key_management_hooks.hits_generate_key = 0;
|
||||
mbedtls_test_driver_key_management_hooks.forced_status = force_status;
|
||||
|
||||
actual_status = psa_generate_key(&attributes, &key);
|
||||
TEST_EQUAL(mbedtls_test_driver_key_management_hooks.hits, 1);
|
||||
TEST_EQUAL(mbedtls_test_driver_key_management_hooks.hits_generate_key, 1);
|
||||
TEST_EQUAL(actual_status, expected_status);
|
||||
|
||||
if (actual_status == PSA_SUCCESS) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user