Move 'change max_ops' test into ops tests
Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
parent
5770224ef3
commit
9e8819f356
1 changed files with 38 additions and 36 deletions
|
@ -7487,41 +7487,6 @@ void interruptible_signverify_hash_edgecase_tests(int key_type_arg,
|
|||
TEST_LE_U(signature_size, PSA_SIGNATURE_MAX_SIZE);
|
||||
ASSERT_ALLOC(signature, signature_size);
|
||||
|
||||
/* --- Ensure changing the max ops mid operation works (operation should
|
||||
* complete successfully after setting max ops to unlimited --- */
|
||||
psa_interruptible_set_max_ops(1);
|
||||
|
||||
PSA_ASSERT(psa_sign_hash_start(&sign_operation, key, alg,
|
||||
input_data->x, input_data->len));
|
||||
|
||||
TEST_EQUAL(psa_sign_hash_complete(&sign_operation, signature,
|
||||
signature_size,
|
||||
&signature_length),
|
||||
PSA_OPERATION_INCOMPLETE);
|
||||
|
||||
psa_interruptible_set_max_ops(PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED);
|
||||
|
||||
PSA_ASSERT(psa_sign_hash_complete(&sign_operation, signature,
|
||||
signature_size,
|
||||
&signature_length));
|
||||
|
||||
PSA_ASSERT(psa_sign_hash_abort(&sign_operation));
|
||||
|
||||
psa_interruptible_set_max_ops(1);
|
||||
|
||||
PSA_ASSERT(psa_verify_hash_start(&verify_operation, key, alg,
|
||||
input_data->x, input_data->len,
|
||||
signature, signature_length));
|
||||
|
||||
TEST_EQUAL(psa_verify_hash_complete(&verify_operation),
|
||||
PSA_OPERATION_INCOMPLETE);
|
||||
|
||||
psa_interruptible_set_max_ops(PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED);
|
||||
|
||||
PSA_ASSERT(psa_verify_hash_complete(&verify_operation));
|
||||
|
||||
PSA_ASSERT(psa_verify_hash_abort(&verify_operation));
|
||||
|
||||
/* --- Change function inputs mid run, to cause an error (sign only,
|
||||
* verify passes all inputs to start. --- */
|
||||
|
||||
|
@ -7608,7 +7573,8 @@ exit:
|
|||
*
|
||||
* 1. Test that setting max ops is reflected in both interruptible sign and
|
||||
* verify hash
|
||||
|
||||
* 2. Test that changing the value of max_ops to unlimited during an operation
|
||||
* causes that operation to complete in the next call.
|
||||
*/
|
||||
void interruptible_signverify_hash_ops_tests(int key_type_arg,
|
||||
data_t *key_data, int alg_arg,
|
||||
|
@ -7621,6 +7587,7 @@ void interruptible_signverify_hash_ops_tests(int key_type_arg,
|
|||
size_t key_bits;
|
||||
unsigned char *signature = NULL;
|
||||
size_t signature_size;
|
||||
size_t signature_length = 0xdeadbeef;
|
||||
psa_sign_hash_interruptible_operation_t sign_operation =
|
||||
psa_sign_hash_interruptible_operation_init();
|
||||
psa_verify_hash_interruptible_operation_t verify_operation =
|
||||
|
@ -7669,6 +7636,41 @@ void interruptible_signverify_hash_ops_tests(int key_type_arg,
|
|||
|
||||
TEST_EQUAL(psa_interruptible_get_max_ops(), 0xbeef);
|
||||
|
||||
/* --- Ensure changing the max ops mid operation works (operation should
|
||||
* complete successfully after setting max ops to unlimited --- */
|
||||
psa_interruptible_set_max_ops(1);
|
||||
|
||||
PSA_ASSERT(psa_sign_hash_start(&sign_operation, key, alg,
|
||||
input_data->x, input_data->len));
|
||||
|
||||
TEST_EQUAL(psa_sign_hash_complete(&sign_operation, signature,
|
||||
signature_size,
|
||||
&signature_length),
|
||||
PSA_OPERATION_INCOMPLETE);
|
||||
|
||||
psa_interruptible_set_max_ops(PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED);
|
||||
|
||||
PSA_ASSERT(psa_sign_hash_complete(&sign_operation, signature,
|
||||
signature_size,
|
||||
&signature_length));
|
||||
|
||||
PSA_ASSERT(psa_sign_hash_abort(&sign_operation));
|
||||
|
||||
psa_interruptible_set_max_ops(1);
|
||||
|
||||
PSA_ASSERT(psa_verify_hash_start(&verify_operation, key, alg,
|
||||
input_data->x, input_data->len,
|
||||
signature, signature_length));
|
||||
|
||||
TEST_EQUAL(psa_verify_hash_complete(&verify_operation),
|
||||
PSA_OPERATION_INCOMPLETE);
|
||||
|
||||
psa_interruptible_set_max_ops(PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED);
|
||||
|
||||
PSA_ASSERT(psa_verify_hash_complete(&verify_operation));
|
||||
|
||||
PSA_ASSERT(psa_verify_hash_abort(&verify_operation));
|
||||
|
||||
exit:
|
||||
/*
|
||||
* Key attributes may have been returned by psa_get_key_attributes()
|
||||
|
|
Loading…
Reference in a new issue