diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8080de9b4c..d1338ea66f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -18,18 +18,6 @@ endif() file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/suites) # Get base names for generated files -execute_process( - COMMAND - ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_bignum_tests.py - --list-for-cmake - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/.. - OUTPUT_VARIABLE - base_bignum_generated_data_files) -string(REGEX REPLACE "[^;]*/" "" - base_bignum_generated_data_files "${base_bignum_generated_data_files}") - execute_process( COMMAND ${MBEDTLS_PYTHON_EXECUTABLE} @@ -38,77 +26,28 @@ execute_process( WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/.. OUTPUT_VARIABLE - base_config_generated_data_files) + base_config_generated_data_files_raw) string(REGEX REPLACE "[^;]*/" "" - base_config_generated_data_files "${base_config_generated_data_files}") - -execute_process( - COMMAND - ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_ecp_tests.py - --list-for-cmake - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/.. - OUTPUT_VARIABLE - base_ecp_generated_data_files) -string(REGEX REPLACE "[^;]*/" "" - base_ecp_generated_data_files "${base_ecp_generated_data_files}") - -execute_process( - COMMAND - ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_psa_tests.py - --list-for-cmake - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/.. - OUTPUT_VARIABLE - base_psa_generated_data_files) -string(REGEX REPLACE "[^;]*/" "" - base_psa_generated_data_files "${base_psa_generated_data_files}") + base_config_generated_data_files_raw "${base_config_generated_data_files_raw}") +# Can be replace by list(FILTER ...) when CI CMake version is >=3.6 +foreach(file ${base_config_generated_data_files_raw}) + if(${file} MATCHES "mbedtls") + list(APPEND base_config_generated_data_files ${file}) + endif() +endforeach() # Derive generated file paths in the build directory. The generated data # files go into the suites/ subdirectory. set(base_generated_data_files - ${base_bignum_generated_data_files} ${base_config_generated_data_files} - ${base_ecp_generated_data_files} ${base_psa_generated_data_files}) + ${base_config_generated_data_files}) string(REGEX REPLACE "([^;]+)" "suites/\\1" all_generated_data_files "${base_generated_data_files}") -set(bignum_generated_data_files "") set(config_generated_data_files "") -set(ecp_generated_data_files "") -set(psa_generated_data_files "") -foreach(file ${base_bignum_generated_data_files}) - list(APPEND bignum_generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/suites/${file}) -endforeach() foreach(file ${base_config_generated_data_files}) list(APPEND config_generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/suites/${file}) endforeach() -foreach(file ${base_ecp_generated_data_files}) - list(APPEND ecp_generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/suites/${file}) -endforeach() -foreach(file ${base_psa_generated_data_files}) - list(APPEND psa_generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/suites/${file}) -endforeach() if(GEN_FILES) - add_custom_command( - OUTPUT - ${bignum_generated_data_files} - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/.. - COMMAND - ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_bignum_tests.py - --directory ${CMAKE_CURRENT_BINARY_DIR}/suites - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_bignum_tests.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/bignum_common.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/bignum_core.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/bignum_mod_raw.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/bignum_mod.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/test_case.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/test_data_generation.py - ) add_custom_command( OUTPUT ${config_generated_data_files} @@ -118,51 +57,13 @@ if(GEN_FILES) ${MBEDTLS_PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_config_tests.py --directory ${CMAKE_CURRENT_BINARY_DIR}/suites + ${config_generated_data_files} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_config_tests.py # Do not declare the configuration files as dependencies: they # change too often in ways that don't affect the result # ((un)commenting some options). ) - add_custom_command( - OUTPUT - ${ecp_generated_data_files} - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/.. - COMMAND - ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_ecp_tests.py - --directory ${CMAKE_CURRENT_BINARY_DIR}/suites - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_ecp_tests.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/bignum_common.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/ecp.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/test_case.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/test_data_generation.py - ) - add_custom_command( - OUTPUT - ${psa_generated_data_files} - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/.. - COMMAND - ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_psa_tests.py - --directory ${CMAKE_CURRENT_BINARY_DIR}/suites - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_psa_tests.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/crypto_data_tests.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/crypto_knowledge.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/macro_collector.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/psa_information.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/psa_storage.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/test_case.py - ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/mbedtls_framework/test_data_generation.py - ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/include/psa/crypto_config.h - ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/include/psa/crypto_values.h - ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/include/psa/crypto_extra.h - ) - else() foreach(file ${all_generated_data_files}) link_to_source(${file}) @@ -173,10 +74,7 @@ endif() # they can cause race conditions in parallel builds. # With this line, only 4 sub-makefiles include the above command, that reduces # the risk of a race. -add_custom_target(test_suite_bignum_generated_data DEPENDS ${bignum_generated_data_files}) add_custom_target(test_suite_config_generated_data DEPENDS ${config_generated_data_files}) -add_custom_target(test_suite_ecp_generated_data DEPENDS ${ecp_generated_data_files}) -add_custom_target(test_suite_psa_generated_data DEPENDS ${psa_generated_data_files}) # If SKIP_TEST_SUITES is not defined with -D, get it from the environment. if((NOT DEFINED SKIP_TEST_SUITES) AND (DEFINED ENV{SKIP_TEST_SUITES})) set(SKIP_TEST_SUITES $ENV{SKIP_TEST_SUITES}) @@ -197,19 +95,7 @@ function(add_test_suite suite_name) # Get the test names of the tests with generated .data files # from the generated_data_files list in parent scope. - set(bignum_generated_data_names "") set(config_generated_data_names "") - set(ecp_generated_data_names "") - set(psa_generated_data_names "") - foreach(generated_data_file ${bignum_generated_data_files}) - # Get the plain filename - get_filename_component(generated_data_name ${generated_data_file} NAME) - # Remove the ".data" extension - get_name_without_last_ext(generated_data_name ${generated_data_name}) - # Remove leading "test_suite_" - string(SUBSTRING ${generated_data_name} 11 -1 generated_data_name) - list(APPEND bignum_generated_data_names ${generated_data_name}) - endforeach() foreach(generated_data_file ${config_generated_data_files}) # Get the plain filename get_filename_component(generated_data_name ${generated_data_file} NAME) @@ -219,49 +105,16 @@ function(add_test_suite suite_name) string(SUBSTRING ${generated_data_name} 11 -1 generated_data_name) list(APPEND config_generated_data_names ${generated_data_name}) endforeach() - foreach(generated_data_file ${ecp_generated_data_files}) - # Get the plain filename - get_filename_component(generated_data_name ${generated_data_file} NAME) - # Remove the ".data" extension - get_name_without_last_ext(generated_data_name ${generated_data_name}) - # Remove leading "test_suite_" - string(SUBSTRING ${generated_data_name} 11 -1 generated_data_name) - list(APPEND ecp_generated_data_names ${generated_data_name}) - endforeach() - foreach(generated_data_file ${psa_generated_data_files}) - # Get the plain filename - get_filename_component(generated_data_name ${generated_data_file} NAME) - # Remove the ".data" extension - get_name_without_last_ext(generated_data_name ${generated_data_name}) - # Remove leading "test_suite_" - string(SUBSTRING ${generated_data_name} 11 -1 generated_data_name) - list(APPEND psa_generated_data_names ${generated_data_name}) - endforeach() - if(";${bignum_generated_data_names};" MATCHES ";${data_name};") - set(data_file - ${CMAKE_CURRENT_BINARY_DIR}/suites/test_suite_${data_name}.data) - set(dependency test_suite_bignum_generated_data) - elseif(";${config_generated_data_names};" MATCHES ";${data_name};") + if(";${config_generated_data_names};" MATCHES ";${data_name};") set(data_file ${CMAKE_CURRENT_BINARY_DIR}/suites/test_suite_${data_name}.data) set(dependency test_suite_config_generated_data) - elseif(";${ecp_generated_data_names};" MATCHES ";${data_name};") - set(data_file - ${CMAKE_CURRENT_BINARY_DIR}/suites/test_suite_${data_name}.data) - set(dependency test_suite_ecp_generated_data) - elseif(";${psa_generated_data_names};" MATCHES ";${data_name};") - set(data_file - ${CMAKE_CURRENT_BINARY_DIR}/suites/test_suite_${data_name}.data) - set(dependency test_suite_psa_generated_data) else() set(data_file ${CMAKE_CURRENT_SOURCE_DIR}/suites/test_suite_${data_name}.data) set(dependency - test_suite_bignum_generated_data - test_suite_config_generated_data - test_suite_ecp_generated_data - test_suite_psa_generated_data) + test_suite_config_generated_data) endif() add_custom_command( @@ -274,18 +127,18 @@ function(add_test_suite suite_name) ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_test_code.py -f ${CMAKE_CURRENT_SOURCE_DIR}/suites/test_suite_${suite_name}.function -d ${data_file} - -t ${CMAKE_CURRENT_SOURCE_DIR}/suites/main_test.function - -p ${CMAKE_CURRENT_SOURCE_DIR}/suites/host_test.function + -t ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/main_test.function + -p ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/host_test.function -s ${CMAKE_CURRENT_SOURCE_DIR}/suites - --helpers-file ${CMAKE_CURRENT_SOURCE_DIR}/suites/helpers.function + --helpers-file ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/helpers.function -o . DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../framework/scripts/generate_test_code.py ${CMAKE_CURRENT_SOURCE_DIR}/suites/test_suite_${suite_name}.function ${data_file} - ${CMAKE_CURRENT_SOURCE_DIR}/suites/main_test.function - ${CMAKE_CURRENT_SOURCE_DIR}/suites/host_test.function - ${CMAKE_CURRENT_SOURCE_DIR}/suites/helpers.function + ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/main_test.function + ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/host_test.function + ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/helpers.function ${mbedtls_target} BYPRODUCTS test_suite_${data_name}.datax