mirror of
https://github.com/reactos/CMake.git
synced 2024-11-24 12:09:48 +00:00
Tests: Add infrastructure to split up large CPack tests
This allows CPack generator tests to be split into smaller tests of the format "<generator>.<test>".
This commit is contained in:
parent
6092a770f6
commit
450131cc0e
@ -42,7 +42,12 @@ function(add_RunCMake_test_group test types)
|
|||||||
# much system information so it is easier to set programs and environment
|
# much system information so it is easier to set programs and environment
|
||||||
# values here
|
# values here
|
||||||
unset(${test}_${type}_FOUND_PREREQUIREMENTS)
|
unset(${test}_${type}_FOUND_PREREQUIREMENTS)
|
||||||
include("${CMAKE_CURRENT_SOURCE_DIR}/${test}/${type}/Prerequirements.cmake")
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${test}/${type}/Prerequirements.cmake")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/${test}/${type}/Prerequirements.cmake")
|
||||||
|
else()
|
||||||
|
string(REGEX MATCH "^[^.]*" main_type "${type}")
|
||||||
|
include("${CMAKE_CURRENT_SOURCE_DIR}/${test}/${main_type}/Prerequirements.cmake")
|
||||||
|
endif()
|
||||||
get_test_prerequirements("${test}_${type}_FOUND_PREREQUIREMENTS"
|
get_test_prerequirements("${test}_${type}_FOUND_PREREQUIREMENTS"
|
||||||
"${TEST_CONFIG_DIR}/${type}_config.cmake")
|
"${TEST_CONFIG_DIR}/${type}_config.cmake")
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ cmake_policy(SET CMP0057 NEW)
|
|||||||
|
|
||||||
function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACKAGING_TYPE package_target)
|
function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACKAGING_TYPE package_target)
|
||||||
if(TEST_TYPE IN_LIST types)
|
if(TEST_TYPE IN_LIST types)
|
||||||
|
string(REGEX MATCH "^[^.]*" GENERATOR_TYPE "${TEST_TYPE}")
|
||||||
set(RunCMake_TEST_NO_CLEAN TRUE)
|
set(RunCMake_TEST_NO_CLEAN TRUE)
|
||||||
if(package_target)
|
if(package_target)
|
||||||
set(full_test_name_ "${TEST_NAME}-package-target")
|
set(full_test_name_ "${TEST_NAME}-package-target")
|
||||||
@ -21,8 +22,8 @@ function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACK
|
|||||||
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||||
|
|
||||||
if(EXISTS "${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-Prerequirements.cmake")
|
if(EXISTS "${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${GENERATOR_TYPE}-Prerequirements.cmake")
|
||||||
include("${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-Prerequirements.cmake")
|
include("${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${GENERATOR_TYPE}-Prerequirements.cmake")
|
||||||
|
|
||||||
set(FOUND_PREREQUIREMENTS false)
|
set(FOUND_PREREQUIREMENTS false)
|
||||||
get_test_prerequirements("FOUND_PREREQUIREMENTS" "${config_file}")
|
get_test_prerequirements("FOUND_PREREQUIREMENTS" "${config_file}")
|
||||||
@ -35,7 +36,7 @@ function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACK
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# execute cmake
|
# execute cmake
|
||||||
set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${TEST_TYPE}"
|
set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${GENERATOR_TYPE}"
|
||||||
"-DRunCMake_TEST_FILE_PREFIX=${TEST_NAME}"
|
"-DRunCMake_TEST_FILE_PREFIX=${TEST_NAME}"
|
||||||
"-DRunCMake_SUBTEST_SUFFIX=${SUBTEST_SUFFIX}"
|
"-DRunCMake_SUBTEST_SUFFIX=${SUBTEST_SUFFIX}"
|
||||||
"-DPACKAGING_TYPE=${PACKAGING_TYPE}")
|
"-DPACKAGING_TYPE=${PACKAGING_TYPE}")
|
||||||
@ -64,9 +65,9 @@ function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACK
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(source)
|
if(source)
|
||||||
set(pack_params_ -G ${TEST_TYPE} --config ./CPackSourceConfig.cmake)
|
set(pack_params_ -G ${GENERATOR_TYPE} --config ./CPackSourceConfig.cmake)
|
||||||
FILE(APPEND ${RunCMake_TEST_BINARY_DIR}/CPackSourceConfig.cmake
|
FILE(APPEND ${RunCMake_TEST_BINARY_DIR}/CPackSourceConfig.cmake
|
||||||
"\nset(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS \"-DRunCMake_TEST:STRING=${full_test_name_} -DRunCMake_TEST_FILE_PREFIX:STRING=${TEST_NAME} -DGENERATOR_TYPE:STRING=${TEST_TYPE}\")")
|
"\nset(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS \"-DRunCMake_TEST:STRING=${full_test_name_} -DRunCMake_TEST_FILE_PREFIX:STRING=${TEST_NAME} -DGENERATOR_TYPE:STRING=${GENERATOR_TYPE}\")")
|
||||||
else()
|
else()
|
||||||
unset(pack_params_)
|
unset(pack_params_)
|
||||||
endif()
|
endif()
|
||||||
@ -91,18 +92,18 @@ function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACK
|
|||||||
)
|
)
|
||||||
|
|
||||||
foreach(o out err)
|
foreach(o out err)
|
||||||
if(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
|
if(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${GENERATOR_TYPE}-${PACKAGING_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
|
||||||
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt")
|
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${GENERATOR_TYPE}-${PACKAGING_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt")
|
||||||
elseif(EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-std${o}.txt)
|
elseif(EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${GENERATOR_TYPE}-${PACKAGING_TYPE}-std${o}.txt)
|
||||||
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-${PACKAGING_TYPE}-std${o}.txt")
|
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${GENERATOR_TYPE}-${PACKAGING_TYPE}-std${o}.txt")
|
||||||
elseif(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
|
elseif(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${GENERATOR_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt)
|
||||||
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt")
|
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${GENERATOR_TYPE}-${SUBTEST_SUFFIX}-std${o}.txt")
|
||||||
elseif(EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${TEST_TYPE}-std${o}.txt)
|
elseif(EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${GENERATOR_TYPE}-std${o}.txt)
|
||||||
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${TEST_TYPE}-std${o}.txt")
|
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${GENERATOR_TYPE}-std${o}.txt")
|
||||||
elseif(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${SUBTEST_SUFFIX}-std${o}.txt)
|
elseif(SUBTEST_SUFFIX AND EXISTS ${RunCMake_SOURCE_DIR}/tests/${TEST_NAME}/${SUBTEST_SUFFIX}-std${o}.txt)
|
||||||
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${SUBTEST_SUFFIX}-std${o}.txt")
|
set(RunCMake-std${o}-file "tests/${TEST_NAME}/${SUBTEST_SUFFIX}-std${o}.txt")
|
||||||
elseif(EXISTS ${RunCMake_SOURCE_DIR}/${TEST_TYPE}/default_expected_std${o}.txt)
|
elseif(EXISTS ${RunCMake_SOURCE_DIR}/${GENERATOR_TYPE}/default_expected_std${o}.txt)
|
||||||
set(RunCMake-std${o}-file "${TEST_TYPE}/default_expected_std${o}.txt")
|
set(RunCMake-std${o}-file "${GENERATOR_TYPE}/default_expected_std${o}.txt")
|
||||||
else()
|
else()
|
||||||
unset(RunCMake-std${o}-file)
|
unset(RunCMake-std${o}-file)
|
||||||
endif()
|
endif()
|
||||||
@ -110,12 +111,12 @@ function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX source PACK
|
|||||||
|
|
||||||
# verify result
|
# verify result
|
||||||
run_cmake_command(
|
run_cmake_command(
|
||||||
${TEST_TYPE}/${full_test_name_}
|
${GENERATOR_TYPE}/${full_test_name_}
|
||||||
"${CMAKE_COMMAND}"
|
"${CMAKE_COMMAND}"
|
||||||
-DRunCMake_TEST=${full_test_name_}
|
-DRunCMake_TEST=${full_test_name_}
|
||||||
-DRunCMake_TEST_FILE_PREFIX=${TEST_NAME}
|
-DRunCMake_TEST_FILE_PREFIX=${TEST_NAME}
|
||||||
-DRunCMake_SUBTEST_SUFFIX=${SUBTEST_SUFFIX}
|
-DRunCMake_SUBTEST_SUFFIX=${SUBTEST_SUFFIX}
|
||||||
-DGENERATOR_TYPE=${TEST_TYPE}
|
-DGENERATOR_TYPE=${GENERATOR_TYPE}
|
||||||
-DPACKAGING_TYPE=${PACKAGING_TYPE}
|
-DPACKAGING_TYPE=${PACKAGING_TYPE}
|
||||||
"-Dsrc_dir=${RunCMake_SOURCE_DIR}"
|
"-Dsrc_dir=${RunCMake_SOURCE_DIR}"
|
||||||
"-Dbin_dir=${RunCMake_TEST_BINARY_DIR}"
|
"-Dbin_dir=${RunCMake_TEST_BINARY_DIR}"
|
||||||
|
Loading…
Reference in New Issue
Block a user