From 9d7330c41175ed2a02c7852799fd5bf6c4526c09 Mon Sep 17 00:00:00 2001 From: Ronald Cron Date: Fri, 5 Dec 2025 12:43:54 +0100 Subject: [PATCH] tests: drivers: Factorize internal header inclusion pre-processor logic Signed-off-by: Ronald Cron --- .../include/test/drivers/test_driver_common.h | 43 +++++++++++++++++++ tests/src/drivers/hash.c | 10 +---- tests/src/drivers/test_driver_aead.c | 10 +---- .../test_driver_asymmetric_encryption.c | 10 +---- tests/src/drivers/test_driver_cipher.c | 10 +---- tests/src/drivers/test_driver_key_agreement.c | 15 +++---- .../src/drivers/test_driver_key_management.c | 20 +++------ tests/src/drivers/test_driver_mac.c | 10 +---- tests/src/drivers/test_driver_pake.c | 10 +---- tests/src/drivers/test_driver_signature.c | 18 ++------ 10 files changed, 70 insertions(+), 86 deletions(-) diff --git a/tests/include/test/drivers/test_driver_common.h b/tests/include/test/drivers/test_driver_common.h index 785e5af66..0a576595b 100644 --- a/tests/include/test/drivers/test_driver_common.h +++ b/tests/include/test/drivers/test_driver_common.h @@ -48,4 +48,47 @@ typedef psa_crypto_driver_pake_inputs_t libtestdriver1_psa_crypto_driver_pake_in typedef psa_crypto_driver_pake_step_t libtestdriver1_psa_crypto_driver_pake_step_t; #endif +/* + * The LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(basename) macro expands to + * the path of the internal header `basename` of a libtestdriver1 test driver. + * + * The internal headers the macro is dedicated to are the `psa_crypto_xyz.h` + * headers located in `library` in 3.6, in `tf-psa-crypto/drivers/builtin/src` + * in 4.x and in`drivers/builtin/src` in TF-PSA-Crypto. + * + * - In Mbed TLS 3.6 and 4.x, when the libtestdriver1 library is built, its code + * is located in the `libtestdriver1` directory at the root of the project. + * The header path is relative to the repository root and therefore of the + * form: + * - Mbed TLS 3.6: `libtestdriver1/library/xyz` + * - Mbed TLS 4.x: `libtestdriver1/tf-psa-crypto/drivers/builtin/src/xyz` + * + * - In TF-PSA-Crypto, the libtestdriver1 library code is located in + * `drivers/libtestdriver1`. The header path is relative to + * `drivers/libtestdriver1/include` and has the form: + * `../../libtestdriver1/src/xyz` + * + * Note: the path cannot simply be `../src/xyz`, because that could refer to + * a header under `drivers/builtin/src`. The directory `drivers/builtin/include` + * is also in the header search path when compiling test drivers. + * + * Uncrustify is not happy with the macros, temporarily disable it. + * + * *INDENT-OFF* + */ +#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) +#define LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(basename) \ + <../../libtestdriver1/src/basename> +#else +#if MBEDTLS_VERSION_MAJOR < 4 +#define LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(basename) \ + +#else +#define LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(basename) \ + +#endif +#endif + +/* *INDENT-ON* */ + #endif /* test_driver_common.h */ diff --git a/tests/src/drivers/hash.c b/tests/src/drivers/hash.c index df19f1000..2998e0efd 100644 --- a/tests/src/drivers/hash.c +++ b/tests/src/drivers/hash.c @@ -12,15 +12,9 @@ #include "test/drivers/hash.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_hash.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_hash.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_hash.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_hash.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ mbedtls_test_driver_hash_hooks_t mbedtls_test_driver_hash_hooks = MBEDTLS_TEST_DRIVER_HASH_INIT; diff --git a/tests/src/drivers/test_driver_aead.c b/tests/src/drivers/test_driver_aead.c index 05fe57a8d..5ecd4d1fc 100644 --- a/tests/src/drivers/test_driver_aead.c +++ b/tests/src/drivers/test_driver_aead.c @@ -15,15 +15,9 @@ #include "mbedtls/constant_time.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_aead.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_aead.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_aead.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_aead.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ mbedtls_test_driver_aead_hooks_t mbedtls_test_driver_aead_hooks = MBEDTLS_TEST_DRIVER_AEAD_INIT; diff --git a/tests/src/drivers/test_driver_asymmetric_encryption.c b/tests/src/drivers/test_driver_asymmetric_encryption.c index 63b9af46a..506a85de1 100644 --- a/tests/src/drivers/test_driver_asymmetric_encryption.c +++ b/tests/src/drivers/test_driver_asymmetric_encryption.c @@ -21,15 +21,9 @@ #include "test/drivers/asymmetric_encryption.h" #include "test/drivers/key_management.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_rsa.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_rsa.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_rsa.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_rsa.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ #define PSA_RSA_KEY_PAIR_MAX_SIZE \ PSA_KEY_EXPORT_RSA_KEY_PAIR_MAX_SIZE(PSA_VENDOR_RSA_MAX_KEY_BITS) diff --git a/tests/src/drivers/test_driver_cipher.c b/tests/src/drivers/test_driver_cipher.c index 0ba7e9c4a..0943b3423 100644 --- a/tests/src/drivers/test_driver_cipher.c +++ b/tests/src/drivers/test_driver_cipher.c @@ -23,15 +23,9 @@ #include "test/random.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_cipher.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_cipher.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_cipher.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_cipher.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ #include diff --git a/tests/src/drivers/test_driver_key_agreement.c b/tests/src/drivers/test_driver_key_agreement.c index 60879bfa6..0b88a4b4d 100644 --- a/tests/src/drivers/test_driver_key_agreement.c +++ b/tests/src/drivers/test_driver_key_agreement.c @@ -19,20 +19,17 @@ #include -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_ecp.h" -#include "../../libtestdriver1/src/psa_crypto_ffdh.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_ecp.h) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_ffdh.h) +#if !defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) #if MBEDTLS_VERSION_MAJOR < 4 #include "libtestdriver1/include/psa/crypto.h" -#include "libtestdriver1/library/psa_crypto_ecp.h" -#include "libtestdriver1/library/psa_crypto_ffdh.h" #else #include "libtestdriver1/tf-psa-crypto/include/psa/crypto.h" -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ecp.h" -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ffdh.h" #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ +#endif +#endif /* MBEDTLS_TEST_LIBTESTDRIVER1 */ mbedtls_test_driver_key_agreement_hooks_t mbedtls_test_driver_key_agreement_hooks = MBEDTLS_TEST_DRIVER_KEY_AGREEMENT_INIT; diff --git a/tests/src/drivers/test_driver_key_management.c b/tests/src/drivers/test_driver_key_management.c index ed5d82818..bbd5d0938 100644 --- a/tests/src/drivers/test_driver_key_management.c +++ b/tests/src/drivers/test_driver_key_management.c @@ -26,21 +26,11 @@ #include "test/random.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_ecp.h" -#include "../../libtestdriver1/src/psa_crypto_rsa.h" -#include "../../libtestdriver1/src/psa_crypto_ffdh.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_ecp.h" -#include "libtestdriver1/library/psa_crypto_rsa.h" -#include "libtestdriver1/library/psa_crypto_ffdh.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ecp.h" -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_rsa.h" -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ffdh.h" -#endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_ecp.h) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_rsa.h) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_ffdh.h) +#endif /* MBEDTLS_TEST_LIBTESTDRIVER1 */ #include diff --git a/tests/src/drivers/test_driver_mac.c b/tests/src/drivers/test_driver_mac.c index 3a149299d..e4ce9ad9e 100644 --- a/tests/src/drivers/test_driver_mac.c +++ b/tests/src/drivers/test_driver_mac.c @@ -12,15 +12,9 @@ #include "test/drivers/mac.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_mac.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_mac.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_mac.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_mac.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ mbedtls_test_driver_mac_hooks_t mbedtls_test_driver_mac_hooks = MBEDTLS_TEST_DRIVER_MAC_INIT; diff --git a/tests/src/drivers/test_driver_pake.c b/tests/src/drivers/test_driver_pake.c index 466f24613..5191c7936 100644 --- a/tests/src/drivers/test_driver_pake.c +++ b/tests/src/drivers/test_driver_pake.c @@ -13,15 +13,9 @@ #include "test/drivers/pake.h" #include "string.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_pake.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_pake.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_pake.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_pake.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ mbedtls_test_driver_pake_hooks_t mbedtls_test_driver_pake_hooks = MBEDTLS_TEST_DRIVER_PAKE_INIT; diff --git a/tests/src/drivers/test_driver_signature.c b/tests/src/drivers/test_driver_signature.c index 8620b14fc..e8dc07655 100644 --- a/tests/src/drivers/test_driver_signature.c +++ b/tests/src/drivers/test_driver_signature.c @@ -33,21 +33,11 @@ #include "test/random.h" -#if defined(TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1) -#include "../../libtestdriver1/src/psa_crypto_ecp.h" -#include "../../libtestdriver1/src/psa_crypto_hash.h" -#include "../../libtestdriver1/src/psa_crypto_rsa.h" -#elif defined(MBEDTLS_TEST_LIBTESTDRIVER1) -#if MBEDTLS_VERSION_MAJOR < 4 -#include "libtestdriver1/library/psa_crypto_ecp.h" -#include "libtestdriver1/library/psa_crypto_hash.h" -#include "libtestdriver1/library/psa_crypto_rsa.h" -#else -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_ecp.h" -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_hash.h" -#include "libtestdriver1/tf-psa-crypto/drivers/builtin/src/psa_crypto_rsa.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_ecp.h) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_hash.h) +#include LIBTESTDRIVER1_PSA_DRIVER_INTERNAL_HEADER(psa_crypto_rsa.h) #endif -#endif /* TF_PSA_CRYPTO_TEST_LIBTESTDRIVER1 */ #include