mirror of
https://github.com/ARMmbed/mbedtls.git
synced 2025-05-17 04:11:45 +08:00
cmake: Generate test_keys.h and test_certs.h in the build tree
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
parent
81a674eee8
commit
99226e9b9b
@ -420,20 +420,22 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS)
|
|||||||
if(GEN_FILES)
|
if(GEN_FILES)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT
|
OUTPUT
|
||||||
${MBEDTLS_FRAMEWORK_DIR}/tests/src/test_keys.h
|
${CMAKE_CURRENT_BINARY_DIR}/tests/include/test/test_keys.h
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/tests/include/test
|
||||||
COMMAND
|
COMMAND
|
||||||
"${MBEDTLS_PYTHON_EXECUTABLE}"
|
"${MBEDTLS_PYTHON_EXECUTABLE}"
|
||||||
"${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_keys.py"
|
"${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_keys.py"
|
||||||
"--output"
|
"--output"
|
||||||
"${MBEDTLS_FRAMEWORK_DIR}/tests/src/test_keys.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/tests/include/test/test_keys.h"
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_keys.py
|
${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_keys.py
|
||||||
)
|
)
|
||||||
add_custom_target(mbedtls_test_keys_header
|
add_custom_target(mbedtls_test_keys_header
|
||||||
DEPENDS ${MBEDTLS_FRAMEWORK_DIR}/tests/src/test_keys.h)
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tests/include/test/test_keys.h)
|
||||||
add_dependencies(mbedtls_test mbedtls_test_keys_header)
|
add_dependencies(mbedtls_test mbedtls_test_keys_header)
|
||||||
endif()
|
endif()
|
||||||
target_include_directories(mbedtls_test
|
target_include_directories(mbedtls_test
|
||||||
|
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/tests/include
|
||||||
PRIVATE ${MBEDTLS_FRAMEWORK_DIR}/tests/include
|
PRIVATE ${MBEDTLS_FRAMEWORK_DIR}/tests/include
|
||||||
PRIVATE tests/include
|
PRIVATE tests/include
|
||||||
PRIVATE include
|
PRIVATE include
|
||||||
@ -454,20 +456,22 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS)
|
|||||||
if(GEN_FILES)
|
if(GEN_FILES)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT
|
OUTPUT
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_certs.h
|
${CMAKE_CURRENT_BINARY_DIR}/tests/include/test/test_certs.h
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/tests/include/test
|
||||||
COMMAND
|
COMMAND
|
||||||
"${MBEDTLS_PYTHON_EXECUTABLE}"
|
"${MBEDTLS_PYTHON_EXECUTABLE}"
|
||||||
"${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_cert_macros.py"
|
"${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_cert_macros.py"
|
||||||
"--output"
|
"--output"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_certs.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/tests/include/test/test_certs.h"
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_cert_macros.py
|
${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_cert_macros.py
|
||||||
)
|
)
|
||||||
add_custom_target(mbedtls_test_certs_header
|
add_custom_target(mbedtls_test_certs_header
|
||||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_certs.h)
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tests/include/test/test_certs.h)
|
||||||
add_dependencies(mbedtls_test_helpers mbedtls_test_certs_header)
|
add_dependencies(mbedtls_test_helpers mbedtls_test_certs_header)
|
||||||
endif()
|
endif()
|
||||||
target_include_directories(mbedtls_test_helpers
|
target_include_directories(mbedtls_test_helpers
|
||||||
|
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/tests/include
|
||||||
PRIVATE ${MBEDTLS_FRAMEWORK_DIR}/tests/include
|
PRIVATE ${MBEDTLS_FRAMEWORK_DIR}/tests/include
|
||||||
PRIVATE tests/include
|
PRIVATE tests/include
|
||||||
PRIVATE include
|
PRIVATE include
|
||||||
|
@ -42,6 +42,8 @@ my $crypto_core_source_dir = 'tf-psa-crypto/core';
|
|||||||
my $crypto_source_dir = 'tf-psa-crypto/drivers/builtin/src';
|
my $crypto_source_dir = 'tf-psa-crypto/drivers/builtin/src';
|
||||||
my $tls_test_source_dir = 'tests/src';
|
my $tls_test_source_dir = 'tests/src';
|
||||||
my $tls_test_header_dir = 'tests/include/test';
|
my $tls_test_header_dir = 'tests/include/test';
|
||||||
|
my $crypto_test_source_dir = 'tf-psa-crypto/tests/src';
|
||||||
|
my $crypto_test_header_dir = 'tf-psa-crypto/tests/include/test';
|
||||||
my $test_source_dir = 'framework/tests/src';
|
my $test_source_dir = 'framework/tests/src';
|
||||||
my $test_header_dir = 'framework/tests/include/test';
|
my $test_header_dir = 'framework/tests/include/test';
|
||||||
my $test_drivers_header_dir = 'framework/tests/include/test/drivers';
|
my $test_drivers_header_dir = 'framework/tests/include/test/drivers';
|
||||||
@ -68,6 +70,7 @@ my @include_directories = qw(
|
|||||||
tf-psa-crypto/drivers/everest/include/everest/vs2013
|
tf-psa-crypto/drivers/everest/include/everest/vs2013
|
||||||
tf-psa-crypto/drivers/everest/include/everest/kremlib
|
tf-psa-crypto/drivers/everest/include/everest/kremlib
|
||||||
tests/include
|
tests/include
|
||||||
|
tf-psa-crypto/tests/include
|
||||||
framework/tests/include
|
framework/tests/include
|
||||||
framework/tests/programs
|
framework/tests/programs
|
||||||
);
|
);
|
||||||
@ -131,9 +134,11 @@ sub check_dirs {
|
|||||||
&& -d $crypto_source_dir
|
&& -d $crypto_source_dir
|
||||||
&& -d $test_source_dir
|
&& -d $test_source_dir
|
||||||
&& -d $tls_test_source_dir
|
&& -d $tls_test_source_dir
|
||||||
|
&& -d $crypto_test_source_dir
|
||||||
&& -d $test_drivers_source_dir
|
&& -d $test_drivers_source_dir
|
||||||
&& -d $test_header_dir
|
&& -d $test_header_dir
|
||||||
&& -d $tls_test_header_dir
|
&& -d $tls_test_header_dir
|
||||||
|
&& -d $crypto_test_header_dir
|
||||||
&& -d $test_drivers_header_dir
|
&& -d $test_drivers_header_dir
|
||||||
&& -d $mbedtls_programs_dir
|
&& -d $mbedtls_programs_dir
|
||||||
&& -d $framework_programs_dir
|
&& -d $framework_programs_dir
|
||||||
@ -300,6 +305,7 @@ sub main {
|
|||||||
$psa_header_dir,
|
$psa_header_dir,
|
||||||
$test_header_dir,
|
$test_header_dir,
|
||||||
$tls_test_header_dir,
|
$tls_test_header_dir,
|
||||||
|
$crypto_test_header_dir,
|
||||||
$test_drivers_header_dir,
|
$test_drivers_header_dir,
|
||||||
$tls_source_dir,
|
$tls_source_dir,
|
||||||
$crypto_core_source_dir,
|
$crypto_core_source_dir,
|
||||||
@ -314,6 +320,7 @@ sub main {
|
|||||||
$crypto_source_dir,
|
$crypto_source_dir,
|
||||||
$test_source_dir,
|
$test_source_dir,
|
||||||
$tls_test_source_dir,
|
$tls_test_source_dir,
|
||||||
|
$crypto_test_source_dir,
|
||||||
$test_drivers_source_dir,
|
$test_drivers_source_dir,
|
||||||
@thirdparty_source_dirs,
|
@thirdparty_source_dirs,
|
||||||
);
|
);
|
||||||
|
@ -7,17 +7,12 @@
|
|||||||
@rem the "CC" environment variable must point to a C compiler.
|
@rem the "CC" environment variable must point to a C compiler.
|
||||||
|
|
||||||
@rem @@@@ library\** @@@@
|
@rem @@@@ library\** @@@@
|
||||||
@rem psa_crypto_driver_wrappers.h needs to be generated prior to
|
|
||||||
@rem generate_visualc_files.pl being invoked.
|
|
||||||
python tf-psa-crypto\scripts\generate_driver_wrappers.py || exit /b 1
|
python tf-psa-crypto\scripts\generate_driver_wrappers.py || exit /b 1
|
||||||
perl scripts\generate_errors.pl || exit /b 1
|
perl scripts\generate_errors.pl || exit /b 1
|
||||||
perl scripts\generate_query_config.pl || exit /b 1
|
perl scripts\generate_query_config.pl || exit /b 1
|
||||||
perl scripts\generate_features.pl || exit /b 1
|
perl scripts\generate_features.pl || exit /b 1
|
||||||
python framework\scripts\generate_ssl_debug_helpers.py || exit /b 1
|
python framework\scripts\generate_ssl_debug_helpers.py || exit /b 1
|
||||||
|
|
||||||
@rem @@@@ Build @@@@
|
|
||||||
perl scripts\generate_visualc_files.pl || exit /b 1
|
|
||||||
|
|
||||||
@rem @@@@ programs\** @@@@
|
@rem @@@@ programs\** @@@@
|
||||||
cd tf-psa-crypto
|
cd tf-psa-crypto
|
||||||
python scripts\generate_psa_constants.py || exit /b 1
|
python scripts\generate_psa_constants.py || exit /b 1
|
||||||
@ -29,8 +24,13 @@ python framework\scripts\generate_bignum_tests.py --directory tf-psa-crypto\test
|
|||||||
python framework\scripts\generate_config_tests.py || exit /b 1
|
python framework\scripts\generate_config_tests.py || exit /b 1
|
||||||
python framework\scripts\generate_ecp_tests.py --directory tf-psa-crypto\tests\suites || exit /b 1
|
python framework\scripts\generate_ecp_tests.py --directory tf-psa-crypto\tests\suites || exit /b 1
|
||||||
python framework\scripts\generate_psa_tests.py --directory tf-psa-crypto\tests\suites || exit /b 1
|
python framework\scripts\generate_psa_tests.py --directory tf-psa-crypto\tests\suites || exit /b 1
|
||||||
python framework\scripts\generate_test_keys.py --output framework\tests\include\test\test_keys.h || exit /b 1
|
python framework\scripts\generate_test_keys.py --output tests\include\test\test_keys.h || exit /b 1
|
||||||
python tf-psa-crypto\framework\scripts\generate_test_keys.py --output tf-psa-crypto\framework\tests\include\test\test_keys.h || exit /b 1
|
python tf-psa-crypto\framework\scripts\generate_test_keys.py --output tf-psa-crypto\tests\include\test\test_keys.h || exit /b 1
|
||||||
python framework\scripts\generate_test_cert_macros.py --output tests\src\test_certs.h || exit /b 1
|
python framework\scripts\generate_test_cert_macros.py --output tests\include\test\test_certs.h || exit /b 1
|
||||||
python framework\scripts\generate_tls_handshake_tests.py || exit /b 1
|
python framework\scripts\generate_tls_handshake_tests.py || exit /b 1
|
||||||
python framework\scripts\generate_tls13_compat_tests.py || exit /b 1
|
python framework\scripts\generate_tls13_compat_tests.py || exit /b 1
|
||||||
|
|
||||||
|
@rem @@@@ Build @@@@
|
||||||
|
@rem Call generate_visualc_files.pl last to be sure everything else has been
|
||||||
|
@rem generated before.
|
||||||
|
perl scripts\generate_visualc_files.pl || exit /b 1
|
||||||
|
4
tests/.gitignore
vendored
4
tests/.gitignore
vendored
@ -22,6 +22,6 @@
|
|||||||
/opt-testcases/tls13-compat.sh
|
/opt-testcases/tls13-compat.sh
|
||||||
/suites/*.generated.data
|
/suites/*.generated.data
|
||||||
/suites/test_suite_config.mbedtls_boolean.data
|
/suites/test_suite_config.mbedtls_boolean.data
|
||||||
/src/test_keys.h
|
/include/test/test_keys.h
|
||||||
/src/test_certs.h
|
/include/test/test_certs.h
|
||||||
###END_GENERATED_FILES###
|
###END_GENERATED_FILES###
|
||||||
|
@ -176,6 +176,7 @@ function(add_test_suite suite_name)
|
|||||||
# files are automatically included because the library targets declare
|
# files are automatically included because the library targets declare
|
||||||
# them as PUBLIC.
|
# them as PUBLIC.
|
||||||
target_include_directories(test_suite_${data_name}
|
target_include_directories(test_suite_${data_name}
|
||||||
|
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/include
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../framework/tests/include
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../framework/tests/include
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../library
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../library
|
||||||
|
@ -64,9 +64,9 @@ endif
|
|||||||
GENERATED_CRYPTO_DATA_FILES += $(GENERATED_PSA_DATA_FILES)
|
GENERATED_CRYPTO_DATA_FILES += $(GENERATED_PSA_DATA_FILES)
|
||||||
|
|
||||||
GENERATED_FILES = $(GENERATED_DATA_FILES) $(GENERATED_CRYPTO_DATA_FILES)
|
GENERATED_FILES = $(GENERATED_DATA_FILES) $(GENERATED_CRYPTO_DATA_FILES)
|
||||||
GENERATED_FILES += ../framework/tests/include/test/test_keys.h \
|
GENERATED_FILES += include/test/test_keys.h \
|
||||||
../tf-psa-crypto/framework/tests/include/test/test_keys.h \
|
../tf-psa-crypto/tests/include/test/test_keys.h \
|
||||||
src/test_certs.h
|
include/test/test_certs.h
|
||||||
|
|
||||||
# Generated files needed to (fully) run ssl-opt.sh
|
# Generated files needed to (fully) run ssl-opt.sh
|
||||||
.PHONY: ssl-opt
|
.PHONY: ssl-opt
|
||||||
@ -184,16 +184,16 @@ all: $(BINARIES) $(CRYPTO_BINARIES)
|
|||||||
|
|
||||||
mbedtls_test: $(MBEDTLS_TEST_OBJS)
|
mbedtls_test: $(MBEDTLS_TEST_OBJS)
|
||||||
|
|
||||||
src/test_certs.h: ../framework/scripts/generate_test_cert_macros.py \
|
include/test/test_certs.h: ../framework/scripts/generate_test_cert_macros.py \
|
||||||
$($(PYTHON) ../framework/scripts/generate_test_cert_macros.py --list-dependencies)
|
$($(PYTHON) ../framework/scripts/generate_test_cert_macros.py --list-dependencies)
|
||||||
echo " Gen $@"
|
echo " Gen $@"
|
||||||
$(PYTHON) ../framework/scripts/generate_test_cert_macros.py --output $@
|
$(PYTHON) ../framework/scripts/generate_test_cert_macros.py --output $@
|
||||||
|
|
||||||
../framework/tests/include/test/test_keys.h: ../framework/scripts/generate_test_keys.py
|
include/test/test_keys.h: ../framework/scripts/generate_test_keys.py
|
||||||
echo " Gen $@"
|
echo " Gen $@"
|
||||||
$(PYTHON) ../framework/scripts/generate_test_keys.py --output $@
|
$(PYTHON) ../framework/scripts/generate_test_keys.py --output $@
|
||||||
|
|
||||||
../tf-psa-crypto/framework/tests/include/test/test_keys.h: ../tf-psa-crypto/framework/scripts/generate_test_keys.py
|
../tf-psa-crypto/tests/include/test/test_keys.h: ../tf-psa-crypto/framework/scripts/generate_test_keys.py
|
||||||
echo " Gen $@"
|
echo " Gen $@"
|
||||||
$(PYTHON) ../tf-psa-crypto/framework/scripts/generate_test_keys.py --output $@
|
$(PYTHON) ../tf-psa-crypto/framework/scripts/generate_test_keys.py --output $@
|
||||||
|
|
||||||
@ -204,8 +204,8 @@ ifdef RECORD_PSA_STATUS_COVERAGE_LOG
|
|||||||
# therefore the wildcard enumeration above doesn't include it.
|
# therefore the wildcard enumeration above doesn't include it.
|
||||||
TEST_OBJS_DEPS += ../framework/tests/include/test/instrument_record_status.h
|
TEST_OBJS_DEPS += ../framework/tests/include/test/instrument_record_status.h
|
||||||
endif
|
endif
|
||||||
TEST_OBJS_DEPS += src/test_certs.h ../framework/tests/include/test/test_keys.h \
|
TEST_OBJS_DEPS += include/test/test_certs.h include/test/test_keys.h \
|
||||||
../tf-psa-crypto/framework/tests/include/test/test_keys.h
|
../tf-psa-crypto/tests/include/test/test_keys.h
|
||||||
|
|
||||||
# Rule to compile common test C files in framework
|
# Rule to compile common test C files in framework
|
||||||
../framework/tests/src/%.o : ../framework/tests/src/%.c $(TEST_OBJS_DEPS)
|
../framework/tests/src/%.o : ../framework/tests/src/%.c $(TEST_OBJS_DEPS)
|
||||||
|
@ -171,7 +171,7 @@ else
|
|||||||
check framework/scripts/generate_psa_wrappers.py tests/include/test/psa_test_wrappers.h tests/src/psa_test_wrappers.c
|
check framework/scripts/generate_psa_wrappers.py tests/include/test/psa_test_wrappers.h tests/src/psa_test_wrappers.c
|
||||||
fi
|
fi
|
||||||
|
|
||||||
check framework/scripts/generate_test_keys.py framework/tests/include/test/test_keys.h
|
check framework/scripts/generate_test_keys.py tests/include/test/test_keys.h
|
||||||
|
|
||||||
# Additional checks for Mbed TLS only
|
# Additional checks for Mbed TLS only
|
||||||
if in_mbedtls_repo; then
|
if in_mbedtls_repo; then
|
||||||
@ -181,7 +181,7 @@ if in_mbedtls_repo; then
|
|||||||
check framework/scripts/generate_ssl_debug_helpers.py library/ssl_debug_helpers_generated.c
|
check framework/scripts/generate_ssl_debug_helpers.py library/ssl_debug_helpers_generated.c
|
||||||
check framework/scripts/generate_tls_handshake_tests.py tests/opt-testcases/handshake-generated.sh
|
check framework/scripts/generate_tls_handshake_tests.py tests/opt-testcases/handshake-generated.sh
|
||||||
check framework/scripts/generate_tls13_compat_tests.py tests/opt-testcases/tls13-compat.sh
|
check framework/scripts/generate_tls13_compat_tests.py tests/opt-testcases/tls13-compat.sh
|
||||||
check framework/scripts/generate_test_cert_macros.py tests/src/test_certs.h
|
check framework/scripts/generate_test_cert_macros.py tests/include/test/test_certs.h
|
||||||
# generate_visualc_files enumerates source files (library/*.c). It doesn't
|
# generate_visualc_files enumerates source files (library/*.c). It doesn't
|
||||||
# care about their content, but the files must exist. So it must run after
|
# care about their content, but the files must exist. So it must run after
|
||||||
# the step that creates or updates these files.
|
# the step that creates or updates these files.
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#include "mbedtls/pk.h"
|
#include "mbedtls/pk.h"
|
||||||
|
|
||||||
#include "test_certs.h"
|
#include "test/test_certs.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user