Calculate min/max completes rather than passing in to test

Only 2 options were really possible anyway - complete in 1 op, or somewhere
between 2 and max ops. Anything else we cannot test due to implementation
specifics.

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function
index d89afa3..7f50e96 100644
--- a/tests/suites/test_suite_psa_crypto.function
+++ b/tests/suites/test_suite_psa_crypto.function
@@ -6447,8 +6447,7 @@
 /* BEGIN_CASE depends_on:MBEDTLS_ECP_RESTARTABLE */
 void sign_hash_interruptible(int key_type_arg, data_t *key_data,
                              int alg_arg, data_t *input_data,
-                             data_t *output_data, int max_ops,
-                             int min_completes, int max_completes)
+                             data_t *output_data, int max_ops)
 {
     mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT;
     psa_key_type_t key_type = key_type_arg;
@@ -6462,6 +6461,8 @@
     size_t num_ops = 0;
     size_t num_ops_prior = 0;
     size_t num_completes = 0;
+    size_t min_completes = 0;
+    size_t max_completes = 0;
     psa_sign_hash_interruptible_operation_t operation =
         psa_sign_hash_interruptible_operation_init();
 
@@ -6486,6 +6487,14 @@
 
     psa_interruptible_set_max_ops(max_ops);
 
+    if (max_ops == PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED) {
+        min_completes = 1;
+        max_completes = 1;
+    } else {
+        min_completes = 2;
+        max_completes = PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED;
+    }
+
     num_ops_prior = psa_sign_hash_get_num_ops(&operation);
     TEST_ASSERT(num_ops_prior == 0);
 
@@ -6590,8 +6599,7 @@
                                   int signature_size_arg,
                                   int expected_start_status_arg,
                                   int expected_complete_status_arg,
-                                  int max_ops, int min_completes,
-                                  int max_completes)
+                                  int max_ops)
 {
     mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT;
     psa_key_type_t key_type = key_type_arg;
@@ -6605,6 +6613,9 @@
     size_t num_ops = 0;
     size_t num_ops_prior = 0;
     size_t num_completes = 0;
+    size_t min_completes = 0;
+    size_t max_completes = 0;
+
     psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
     psa_sign_hash_interruptible_operation_t operation =
         psa_sign_hash_interruptible_operation_init();
@@ -6622,6 +6633,20 @@
 
     psa_interruptible_set_max_ops(max_ops);
 
+    if (max_ops == PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED) {
+        min_completes = 1;
+        max_completes = 1;
+    } else {
+        /* Unfortunate, but failure cases tend to fail on the first op. */
+        if (expected_complete_status == PSA_SUCCESS) {
+            min_completes = 2;
+        } else {
+            min_completes = 1;
+        }
+
+        max_completes = PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED;
+    }
+
     num_ops_prior = psa_sign_hash_get_num_ops(&operation);
     TEST_ASSERT(num_ops_prior == 0);
 
@@ -6754,8 +6779,7 @@
 /* BEGIN_CASE depends_on:MBEDTLS_ECP_RESTARTABLE */
 void sign_verify_hash_interruptible(int key_type_arg, data_t *key_data,
                                     int alg_arg, data_t *input_data,
-                                    int max_ops, int min_completes,
-                                    int max_completes)
+                                    int max_ops)
 {
     mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT;
     psa_key_type_t key_type = key_type_arg;
@@ -6767,6 +6791,9 @@
     psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
     psa_status_t status = PSA_OPERATION_INCOMPLETE;
     size_t num_completes = 0;
+    size_t min_completes = 0;
+    size_t max_completes = 0;
+
     psa_sign_hash_interruptible_operation_t sign_operation =
         psa_sign_hash_interruptible_operation_init();
     psa_verify_hash_interruptible_operation_t verify_operation =
@@ -6794,6 +6821,14 @@
 
     psa_interruptible_set_max_ops(max_ops);
 
+    if (max_ops == PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED) {
+        min_completes = 1;
+        max_completes = 1;
+    } else {
+        min_completes = 2;
+        max_completes = PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED;
+    }
+
     /* Start performing the signature. */
     PSA_ASSERT(psa_sign_hash_start(&sign_operation, key, alg,
                                    input_data->x, input_data->len));
@@ -6911,8 +6946,7 @@
 /* BEGIN_CASE depends_on:MBEDTLS_ECP_RESTARTABLE */
 void verify_hash_interruptible(int key_type_arg, data_t *key_data,
                                int alg_arg, data_t *hash_data,
-                               data_t *signature_data, int max_ops,
-                               int min_completes, int max_completes)
+                               data_t *signature_data, int max_ops)
 {
     mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT;
     psa_key_type_t key_type = key_type_arg;
@@ -6922,6 +6956,9 @@
     size_t num_ops = 0;
     size_t num_ops_prior = 0;
     size_t num_completes = 0;
+    size_t min_completes = 0;
+    size_t max_completes = 0;
+
     psa_verify_hash_interruptible_operation_t operation =
         psa_verify_hash_interruptible_operation_init();
 
@@ -6938,6 +6975,14 @@
 
     psa_interruptible_set_max_ops(max_ops);
 
+    if (max_ops == PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED) {
+        min_completes = 1;
+        max_completes = 1;
+    } else {
+        min_completes = 2;
+        max_completes = PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED;
+    }
+
     num_ops_prior = psa_verify_hash_get_num_ops(&operation);
 
     TEST_ASSERT(num_ops_prior == 0);
@@ -7023,8 +7068,7 @@
                                     data_t *signature_data,
                                     int expected_start_status_arg,
                                     int expected_complete_status_arg,
-                                    int max_ops, int min_completes,
-                                    int max_completes)
+                                    int max_ops)
 {
     mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT;
     psa_key_type_t key_type = key_type_arg;
@@ -7036,6 +7080,8 @@
     size_t num_ops = 0;
     size_t num_ops_prior = 0;
     size_t num_completes = 0;
+    size_t min_completes = 0;
+    size_t max_completes = 0;
     psa_verify_hash_interruptible_operation_t operation =
         psa_verify_hash_interruptible_operation_init();
 
@@ -7050,6 +7096,14 @@
 
     psa_interruptible_set_max_ops(max_ops);
 
+    if (max_ops == PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED) {
+        min_completes = 1;
+        max_completes = 1;
+    } else {
+        min_completes = 2;
+        max_completes = PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED;
+    }
+
     num_ops_prior = psa_verify_hash_get_num_ops(&operation);
     TEST_ASSERT(num_ops_prior == 0);