diff --git a/tests/scripts/test_config_checks.py b/tests/scripts/test_config_checks.py index ee624d886f..2c6f6b3c81 100755 --- a/tests/scripts/test_config_checks.py +++ b/tests/scripts/test_config_checks.py @@ -22,6 +22,10 @@ class MbedtlsTestConfigChecks(unittest_config_checks.TestConfigChecks): '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 @@ class MbedtlsTestConfigChecks(unittest_config_checks.TestConfigChecks): ''', 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 @@ class MbedtlsTestConfigChecks(unittest_config_checks.TestConfigChecks): ''', 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 @@ class MbedtlsTestConfigChecks(unittest_config_checks.TestConfigChecks): '#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 @@ class MbedtlsTestConfigChecks(unittest_config_checks.TestConfigChecks): 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 @@ class MbedtlsTestConfigChecks(unittest_config_checks.TestConfigChecks): """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')