mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-05-11 09:02:17 +00:00
Add negative tests for driver registration
This commit is contained in:
parent
d089021128
commit
55a6acfe4d
|
@ -1,2 +1,22 @@
|
||||||
Register SE driver: good
|
Register SE driver: good
|
||||||
register_one:2:PSA_DRV_SE_HAL_VERSION:PSA_SUCCESS
|
register_one:2:PSA_DRV_SE_HAL_VERSION:PSA_SUCCESS
|
||||||
|
|
||||||
|
# Run this test case a second time to verify that the library deinit
|
||||||
|
# unregistered the first driver.
|
||||||
|
Register SE driver: good, again
|
||||||
|
register_one:2:PSA_DRV_SE_HAL_VERSION:PSA_SUCCESS
|
||||||
|
|
||||||
|
Register SE driver: invalid lifetime (VOLATILE)
|
||||||
|
register_one:PSA_KEY_LIFETIME_VOLATILE:PSA_DRV_SE_HAL_VERSION:PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
|
Register SE driver: invalid lifetime (PERSISTENT)
|
||||||
|
register_one:PSA_KEY_LIFETIME_VOLATILE:PSA_DRV_SE_HAL_VERSION:PSA_ERROR_INVALID_ARGUMENT
|
||||||
|
|
||||||
|
Register SE driver: invalid version
|
||||||
|
register_one:2:PSA_DRV_SE_HAL_VERSION - 1:PSA_ERROR_NOT_SUPPORTED
|
||||||
|
|
||||||
|
Register SE driver: already registered
|
||||||
|
register_twice:3
|
||||||
|
|
||||||
|
Register SE driver: maximum number of drivers
|
||||||
|
register_max:
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
#include "psa_crypto_helpers.h"
|
#include "psa_crypto_helpers.h"
|
||||||
#include "psa/crypto_se_driver.h"
|
#include "psa/crypto_se_driver.h"
|
||||||
|
|
||||||
|
#include "psa_crypto_se.h"
|
||||||
|
|
||||||
|
/* The minimum valid lifetime value for a secure element driver. */
|
||||||
|
#define MIN_DRIVER_LIFETIME 2
|
||||||
|
|
||||||
/* END_HEADER */
|
/* END_HEADER */
|
||||||
|
|
||||||
/* BEGIN_DEPENDENCIES
|
/* BEGIN_DEPENDENCIES
|
||||||
|
@ -27,3 +32,49 @@ exit:
|
||||||
PSA_DONE( );
|
PSA_DONE( );
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
|
/* BEGIN_CASE */
|
||||||
|
void register_twice( int count )
|
||||||
|
{
|
||||||
|
psa_drv_se_t driver;
|
||||||
|
psa_key_lifetime_t lifetime;
|
||||||
|
psa_key_lifetime_t max = MIN_DRIVER_LIFETIME + count;
|
||||||
|
|
||||||
|
memset( &driver, 0, sizeof( driver ) );
|
||||||
|
driver.hal_version = PSA_DRV_SE_HAL_VERSION;
|
||||||
|
|
||||||
|
for( lifetime = MIN_DRIVER_LIFETIME; lifetime < max; lifetime++ )
|
||||||
|
PSA_ASSERT( psa_register_se_driver( lifetime, &driver ) );
|
||||||
|
for( lifetime = MIN_DRIVER_LIFETIME; lifetime < max; lifetime++ )
|
||||||
|
TEST_EQUAL( psa_register_se_driver( lifetime, &driver ),
|
||||||
|
PSA_ERROR_ALREADY_EXISTS );
|
||||||
|
|
||||||
|
PSA_ASSERT( psa_crypto_init( ) );
|
||||||
|
|
||||||
|
exit:
|
||||||
|
PSA_DONE( );
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
|
||||||
|
/* BEGIN_CASE */
|
||||||
|
void register_max( )
|
||||||
|
{
|
||||||
|
psa_drv_se_t driver;
|
||||||
|
psa_key_lifetime_t lifetime;
|
||||||
|
psa_key_lifetime_t max = MIN_DRIVER_LIFETIME + PSA_MAX_SE_DRIVERS;
|
||||||
|
|
||||||
|
memset( &driver, 0, sizeof( driver ) );
|
||||||
|
driver.hal_version = PSA_DRV_SE_HAL_VERSION;
|
||||||
|
|
||||||
|
for( lifetime = MIN_DRIVER_LIFETIME; lifetime < max; lifetime++ )
|
||||||
|
PSA_ASSERT( psa_register_se_driver( lifetime, &driver ) );
|
||||||
|
|
||||||
|
TEST_EQUAL( psa_register_se_driver( lifetime, &driver ),
|
||||||
|
PSA_ERROR_INSUFFICIENT_MEMORY );
|
||||||
|
|
||||||
|
PSA_ASSERT( psa_crypto_init( ) );
|
||||||
|
|
||||||
|
exit:
|
||||||
|
PSA_DONE( );
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
|
Loading…
Reference in a new issue