Skip to content

Commit 9feeffe

Browse files
Update test drivers for TF-PSA-Crypto test driver
Update test drivers for TF-PSA-Crypto test driver based on a copy of `drivers/builtin`. We mainly keep using what is already in place for libtestdriver1 in Mbed TLS by still defining MBEDTLS_TEST_LIBTESTDRIVER1. As in TF-PSA-Crypto, the test driver is a derivative of a clone of the built-in driver, not of the whole library, the paths to the driver internal headers are different. The paths are relative to `drivers/libtestdriver1/include`. Otherwise, `psa_key_attributes_t` is prefixed with `libtestdriver1_` in Mbed TLS test driver but not in TF-PSA-Crypto one. Thus in TF-PSA-Crypto case define `libtestdriver1_psa_key_attributes_t` as `psa_key_attributes_t`. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
1 parent 1726775 commit 9feeffe

File tree

9 files changed

+56
-25
lines changed

9 files changed

+56
-25
lines changed

tests/src/drivers/hash.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212

1313
#include "test/drivers/hash.h"
1414

15-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
15+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
16+
#include "../../libtestdriver1/src/psa_crypto_hash.h"
17+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
1618
#if MBEDTLS_VERSION_MAJOR < 4
1719
#include "libtestdriver1/library/psa_crypto_hash.h"
1820
#else
1921
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_hash.h"
2022
#endif
21-
#endif
23+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
2224

2325
mbedtls_test_driver_hash_hooks_t
2426
mbedtls_test_driver_hash_hooks = MBEDTLS_TEST_DRIVER_HASH_INIT;

tests/src/drivers/test_driver_aead.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@
1515

1616
#include "mbedtls/constant_time.h"
1717

18-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
18+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
19+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
20+
#include "../../libtestdriver1/src/psa_crypto_aead.h"
21+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
1922
#if MBEDTLS_VERSION_MAJOR < 4
2023
#include "libtestdriver1/library/psa_crypto_aead.h"
2124
#else
2225
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_aead.h"
2326
#endif
24-
#endif
27+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
2528

2629
mbedtls_test_driver_aead_hooks_t
2730
mbedtls_test_driver_aead_hooks = MBEDTLS_TEST_DRIVER_AEAD_INIT;

tests/src/drivers/test_driver_asymmetric_encryption.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,16 @@
2121
#include "test/drivers/asymmetric_encryption.h"
2222
#include "test/drivers/key_management.h"
2323

24-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
24+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
25+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
26+
#include "../../libtestdriver1/src/psa_crypto_rsa.h"
27+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
2528
#if MBEDTLS_VERSION_MAJOR < 4
2629
#include "libtestdriver1/library/psa_crypto_rsa.h"
2730
#else
2831
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_rsa.h"
2932
#endif
30-
#endif
33+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
3134

3235
#define PSA_RSA_KEY_PAIR_MAX_SIZE \
3336
PSA_KEY_EXPORT_RSA_KEY_PAIR_MAX_SIZE(PSA_VENDOR_RSA_MAX_KEY_BITS)

tests/src/drivers/test_driver_cipher.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@
2323

2424
#include "test/random.h"
2525

26-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
26+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
27+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
28+
#include "../../libtestdriver1/src/psa_crypto_cipher.h"
29+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
2730
#if MBEDTLS_VERSION_MAJOR < 4
2831
#include "libtestdriver1/library/psa_crypto_cipher.h"
2932
#else
3033
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_cipher.h"
3134
#endif
32-
#endif
35+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
3336

3437
#include <string.h>
3538

tests/src/drivers/test_driver_key_agreement.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@
1919

2020
#include <string.h>
2121

22-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
22+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
23+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
24+
#include "../../libtestdriver1/src/psa_crypto_ecp.h"
25+
#include "../../libtestdriver1/src/psa_crypto_ffdh.h"
26+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
2327
#if MBEDTLS_VERSION_MAJOR < 4
2428
#include "libtestdriver1/include/psa/crypto.h"
2529
#include "libtestdriver1/library/psa_crypto_ecp.h"
@@ -29,7 +33,7 @@
2933
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ecp.h"
3034
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ffdh.h"
3135
#endif
32-
#endif
36+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
3337

3438
mbedtls_test_driver_key_agreement_hooks_t
3539
mbedtls_test_driver_key_agreement_hooks = MBEDTLS_TEST_DRIVER_KEY_AGREEMENT_INIT;

tests/src/drivers/test_driver_key_management.c

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,17 @@
2121
#include "mbedtls/ecp.h"
2222
#endif
2323

24-
#include "mbedtls/error.h"
25-
2624
#include "test/drivers/key_management.h"
2725
#include "test/drivers/test_driver.h"
2826

2927
#include "test/random.h"
3028

31-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
29+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
30+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
31+
#include "../../libtestdriver1/src/psa_crypto_ecp.h"
32+
#include "../../libtestdriver1/src/psa_crypto_rsa.h"
33+
#include "../../libtestdriver1/src/psa_crypto_ffdh.h"
34+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
3235
#if MBEDTLS_VERSION_MAJOR < 4
3336
#include "libtestdriver1/library/psa_crypto_ecp.h"
3437
#include "libtestdriver1/library/psa_crypto_rsa.h"
@@ -38,7 +41,7 @@
3841
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_rsa.h"
3942
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ffdh.h"
4043
#endif
41-
#endif
44+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
4245

4346
#include <string.h>
4447

@@ -68,7 +71,8 @@ psa_status_t mbedtls_test_transparent_init(void)
6871
{
6972
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
7073

71-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
74+
#if !defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) && \
75+
defined(MBEDTLS_TEST_LIBTESTDRIVER1)
7276
status = libtestdriver1_psa_crypto_init();
7377
if (status != PSA_SUCCESS) {
7478
return status;
@@ -81,7 +85,8 @@ psa_status_t mbedtls_test_transparent_init(void)
8185

8286
void mbedtls_test_transparent_free(void)
8387
{
84-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
88+
#if !defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) && \
89+
defined(MBEDTLS_TEST_LIBTESTDRIVER1)
8590
libtestdriver1_mbedtls_psa_crypto_free();
8691
#endif
8792

tests/src/drivers/test_driver_mac.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@
1212

1313
#include "test/drivers/mac.h"
1414

15-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
15+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
16+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
17+
#include "../../libtestdriver1/src/psa_crypto_mac.h"
18+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
1619
#if MBEDTLS_VERSION_MAJOR < 4
1720
#include "libtestdriver1/library/psa_crypto_mac.h"
1821
#else
1922
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_mac.h"
2023
#endif
21-
#endif
24+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
2225

2326
mbedtls_test_driver_mac_hooks_t mbedtls_test_driver_mac_hooks =
2427
MBEDTLS_TEST_DRIVER_MAC_INIT;

tests/src/drivers/test_driver_pake.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@
1313
#include "test/drivers/pake.h"
1414
#include "string.h"
1515

16-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
16+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
17+
typedef psa_crypto_driver_pake_inputs_t libtestdriver1_psa_crypto_driver_pake_inputs_t;
18+
typedef psa_crypto_driver_pake_step_t libtestdriver1_psa_crypto_driver_pake_step_t;
19+
#include "../../libtestdriver1/src/psa_crypto_pake.h"
20+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
1721
#if MBEDTLS_VERSION_MAJOR < 4
1822
#include "libtestdriver1/library/psa_crypto_pake.h"
1923
#else
2024
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_pake.h"
2125
#endif
22-
#endif
26+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
2327

2428
mbedtls_test_driver_pake_hooks_t mbedtls_test_driver_pake_hooks =
2529
MBEDTLS_TEST_DRIVER_PAKE_INIT;

tests/src/drivers/test_driver_signature.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
#include "test/drivers/hash.h"
2626
#include "test/drivers/signature.h"
27-
#include "test/drivers/hash.h"
2827

2928
#if !defined(MBEDTLS_VERSION_MAJOR) || MBEDTLS_VERSION_MAJOR >= 4
3029
#include "mbedtls/private/ecdsa.h"
@@ -34,7 +33,12 @@
3433

3534
#include "test/random.h"
3635

37-
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
36+
#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1)
37+
typedef psa_key_attributes_t libtestdriver1_psa_key_attributes_t;
38+
#include "../../libtestdriver1/src/psa_crypto_ecp.h"
39+
#include "../../libtestdriver1/src/psa_crypto_hash.h"
40+
#include "../../libtestdriver1/src/psa_crypto_rsa.h"
41+
#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1)
3842
#if MBEDTLS_VERSION_MAJOR < 4
3943
#include "libtestdriver1/library/psa_crypto_ecp.h"
4044
#include "libtestdriver1/library/psa_crypto_hash.h"
@@ -44,7 +48,7 @@
4448
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_hash.h"
4549
#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_rsa.h"
4650
#endif
47-
#endif
51+
#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */
4852

4953
#include <string.h>
5054

@@ -53,7 +57,7 @@ mbedtls_test_driver_signature_hooks_t
5357
mbedtls_test_driver_signature_hooks_t
5458
mbedtls_test_driver_signature_verify_hooks = MBEDTLS_TEST_DRIVER_SIGNATURE_INIT;
5559

56-
psa_status_t sign_hash(
60+
static psa_status_t sign_hash(
5761
const psa_key_attributes_t *attributes,
5862
const uint8_t *key_buffer,
5963
size_t key_buffer_size,
@@ -121,7 +125,7 @@ psa_status_t sign_hash(
121125
return PSA_ERROR_NOT_SUPPORTED;
122126
}
123127

124-
psa_status_t verify_hash(
128+
static psa_status_t verify_hash(
125129
const psa_key_attributes_t *attributes,
126130
const uint8_t *key_buffer,
127131
size_t key_buffer_size,

0 commit comments

Comments
 (0)