test: automatically generate test_certs.h and test_keys.h
Ensure that when tests are built also test_certs.h and
test_keys.h are generated.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fb9e1c3..565e92e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -311,10 +311,125 @@
# to define the test executables.
#
if(ENABLE_TESTING OR ENABLE_PROGRAMS)
+ add_custom_command(
+ OUTPUT
+ ./tests/src/test_keys.h
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND
+ ${MBEDTLS_PYTHON_EXECUTABLE}
+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_keys.py"
+ "--output"
+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_keys.h"
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_keys.py
+ )
+ add_custom_command(
+ OUTPUT
+ ./tests/src/test_certs.h
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND
+ "${MBEDTLS_PYTHON_EXECUTABLE}"
+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_cert_macros.py"
+ "--output"
+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_certs.h"
+ "--string"
+ "TEST_CA_CRT_EC_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.crt"
+ "--binary"
+ "TEST_CA_CRT_EC_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.crt.der"
+ "--string"
+ "TEST_CA_KEY_EC_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.key.enc"
+ "--password"
+ "TEST_CA_PWD_EC_PEM=PolarSSLTest"
+ "--binary"
+ "TEST_CA_KEY_EC_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.key.der"
+ "--string"
+ "TEST_CA_CRT_RSA_SHA256_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha256.crt"
+ "--binary"
+ "TEST_CA_CRT_RSA_SHA256_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha256.crt.der"
+ "--string"
+ "TEST_CA_CRT_RSA_SHA1_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha1.crt"
+ "--binary"
+ "TEST_CA_CRT_RSA_SHA1_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha1.crt.der"
+ "--string"
+ "TEST_CA_KEY_RSA_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca.key"
+ "--password"
+ "TEST_CA_PWD_RSA_PEM=PolarSSLTest"
+ "--binary"
+ "TEST_CA_KEY_RSA_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca.key.der"
+ "--string"
+ "TEST_SRV_CRT_EC_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.crt"
+ "--binary"
+ "TEST_SRV_CRT_EC_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.crt.der"
+ "--string"
+ "TEST_SRV_KEY_EC_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.key"
+ "--binary"
+ "TEST_SRV_KEY_EC_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.key.der"
+ "--string"
+ "TEST_SRV_CRT_RSA_SHA256_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2-sha256.crt"
+ "--binary"
+ "TEST_SRV_CRT_RSA_SHA256_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2-sha256.crt.der"
+ "--string"
+ "TEST_SRV_CRT_RSA_SHA1_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.crt"
+ "--binary"
+ "TEST_SRV_CRT_RSA_SHA1_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.crt.der"
+ "--string"
+ "TEST_SRV_KEY_RSA_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.key"
+ "--binary"
+ "TEST_SRV_KEY_RSA_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.key.der"
+ "--string"
+ "TEST_CLI_CRT_EC_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.crt"
+ "--binary"
+ "TEST_CLI_CRT_EC_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.crt.der"
+ "--string"
+ "TEST_CLI_KEY_EC_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.key"
+ "--binary"
+ "TEST_CLI_KEY_EC_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.key.der"
+ "--string"
+ "TEST_CLI_CRT_RSA_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa-sha256.crt"
+ "--binary"
+ "TEST_CLI_CRT_RSA_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa-sha256.crt.der"
+ "--string"
+ "TEST_CLI_KEY_RSA_PEM=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa.key"
+ "--binary"
+ "TEST_CLI_KEY_RSA_DER=${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa.key.der"
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_cert_macros.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.key.enc
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca2.key.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha256.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha256.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha1.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca-sha1.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca.key
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/test-ca.key.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.key
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server5.key.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2-sha256.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2-sha256.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.key
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/server2.key.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.key
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli2.key.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa-sha256.crt
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa-sha256.crt.der
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa.key
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/data_files/cli-rsa.key.der
+ )
file(GLOB MBEDTLS_TEST_FILES
${CMAKE_CURRENT_SOURCE_DIR}/tests/src/*.c
${CMAKE_CURRENT_SOURCE_DIR}/tests/src/drivers/*.c)
- add_library(mbedtls_test OBJECT ${MBEDTLS_TEST_FILES})
+ add_library(mbedtls_test OBJECT ${MBEDTLS_TEST_FILES}
+ ./tests/src/test_keys.h ./tests/src/test_certs.h)
target_include_directories(mbedtls_test
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests/include
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include