Be more consistent about method naming
Indicate which config file has the most relevant tweak.
Duplicate a few test cases so that both the crypto config and the mbedtls
config are tested.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/tests/scripts/test_config_checks.py b/tests/scripts/test_config_checks.py
index ee624d8..2c6f6b3 100755
--- a/tests/scripts/test_config_checks.py
+++ b/tests/scripts/test_config_checks.py
@@ -22,6 +22,10 @@
'tf-psa-crypto/drivers/builtin/include',
]
+ ## Method naming convention:
+ ## * test_crypto_xxx when testing a tweak of crypto_config.h
+ ## * test_mbedtls_xxx when testing a tweak of mbedtls_config.h
+
def test_crypto_config_read(self) -> None:
"""Check that crypto_config.h is read in mbedtls."""
self.bad_case('#error witness',
@@ -49,7 +53,7 @@
''',
error='MBEDTLS_SSL_EARLY_DATA')
- def test_mbedtls_no_ecdsa(self) -> None:
+ def test_crypto_mbedtls_no_ecdsa(self) -> None:
"""An error expected from mbedtls_check_config.h based on crypto+TLS configuration."""
self.bad_case('''
#undef PSA_WANT_ALG_ECDSA
@@ -65,23 +69,35 @@
''',
error='MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED')
- def test_mbedtls_define_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED(self) -> None:
- """Error when setting a removed option."""
+ def test_crypto_define_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED(self) -> None:
+ """Error when setting a removed option via crypto_config.h."""
self.bad_case('#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED',
error='MBEDTLS_KEY_EXCHANGE_RSA_ENABLED was removed')
- def test_mbedtls_exempt_define_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED(self) -> None:
- """Bypassed error when setting a removed option."""
+ def test_mbedtls_define_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED(self) -> None:
+ """Error when setting a removed option via mbedtls_config.h."""
+ self.bad_case(None,
+ '#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED',
+ error='MBEDTLS_KEY_EXCHANGE_RSA_ENABLED was removed')
+
+ def test_crypto_exempt_define_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED(self) -> None:
+ """Bypassed error when setting a removed option via crypto_config.h."""
self.good_case('#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED',
extra_options=['-DMBEDTLS_CONFIG_CHECK_BYPASS'])
- def test_define_MBEDTLS_MD5_C_redundant(self) -> None:
+ def test_mbedtls_exempt_define_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED(self) -> None:
+ """Bypassed error when setting a removed option via mbedtls_config.h."""
+ self.good_case(None,
+ '#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED',
+ extra_options=['-DMBEDTLS_CONFIG_CHECK_BYPASS'])
+
+ def test_mbedtls_define_MBEDTLS_MD5_C_redundant(self) -> None:
"""Error when redundantly setting a subproject internal option."""
self.bad_case('#define PSA_WANT_ALG_MD5 1',
'#define MBEDTLS_MD5_C',
error=r'MBEDTLS_MD5_C is an internal macro')
- def test_define_MBEDTLS_MD5_C_added(self) -> None:
+ def test_mbedtls_define_MBEDTLS_MD5_C_added(self) -> None:
"""Error when setting a subproject internal option that was disabled."""
self.bad_case('''
#undef PSA_WANT_ALG_MD5
@@ -90,12 +106,12 @@
'#define MBEDTLS_MD5_C',
error=r'MBEDTLS_MD5_C is an internal macro')
- def test_define_MBEDTLS_BASE64_C_redundant(self) -> None:
+ def test_mbedtls_define_MBEDTLS_BASE64_C_redundant(self) -> None:
"""Ok to redundantly set a subproject option."""
self.good_case(None,
'#define MBEDTLS_BASE64_C')
- def test_define_MBEDTLS_BASE64_C_added(self) -> None:
+ def test_mbedtls_define_MBEDTLS_BASE64_C_added(self) -> None:
"""Error when setting a subproject option that was disabled."""
self.bad_case('''
#undef MBEDTLS_BASE64_C
@@ -106,7 +122,7 @@
error=r'MBEDTLS_BASE64_C .*psa/crypto_config\.h')
@unittest.skip("Checks for #undef are not implemented yet.")
- def test_define_MBEDTLS_BASE64_C_unset(self) -> None:
+ def test_mbedtls_define_MBEDTLS_BASE64_C_unset(self) -> None:
"""Error when unsetting a subproject option that was enabled."""
self.bad_case(None,
'#undef MBEDTLS_BASE64_C',
@@ -116,7 +132,7 @@
"""It's ok to set MBEDTLS_USE_PSA_CRYPTO (now effectively always on)."""
self.good_case('#define MBEDTLS_USE_PSA_CRYPTO')
- def test_crypto_define_MBEDTLS_USE_PSA_CRYPTO(self) -> None:
+ def test_mbedtls_define_MBEDTLS_USE_PSA_CRYPTO(self) -> None:
"""It's ok to set MBEDTLS_USE_PSA_CRYPTO (now effectively always on)."""
self.good_case(None,
'#define MBEDTLS_USE_PSA_CRYPTO')