mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-06 06:10:04 -05:00
Tests: CPack test move and merge VerifyResult
Merge VerifyResult of different generators pertest and move the file to its test dir.
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
function(checkDependencies_ FILE REGEX)
|
|
||||||
set(whitespaces_ "[\t\n\r ]*")
|
|
||||||
|
|
||||||
getPackageInfo("${FILE}" "FILE_INFO_")
|
|
||||||
if(NOT FILE_INFO_ MATCHES "${REGEX}")
|
|
||||||
message(FATAL_ERROR "Unexpected dependencies in '${FILE}'; file info: '${FILE_INFO_}'")
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
foreach(dependency_type_ DEPENDS CONFLICTS ENHANCES BREAKS REPLACES RECOMMENDS SUGGESTS)
|
|
||||||
string(TOLOWER "${dependency_type_}" lower_dependency_type_)
|
|
||||||
string(SUBSTRING ${lower_dependency_type_} 1 -1 lower_dependency_type_tail_)
|
|
||||||
string(SUBSTRING ${dependency_type_} 0 1 dependency_type_head_)
|
|
||||||
set(dependency_type_name_ "${dependency_type_head_}${lower_dependency_type_tail_}")
|
|
||||||
|
|
||||||
checkDependencies_("${FOUND_FILE_1}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_2}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}.*${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_3}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-headers.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_4}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-default, ${lower_dependency_type_}-default-b.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_5}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-default, ${lower_dependency_type_}-default-b.*")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
checkDependencies_("${FOUND_FILE_1}" ".*Provides${whitespaces_}:${whitespaces_}provided-default, provided-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_2}" ".*Provides${whitespaces_}:${whitespaces_}provided-default, provided-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_3}" ".*Provides${whitespaces_}:${whitespaces_}provided-default, provided-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_4}" ".*Provides${whitespaces_}:${whitespaces_}provided-lib.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_5}" ".*Provides${whitespaces_}:${whitespaces_}provided-lib_auto.*, provided-lib_auto-b.*")
|
|
||||||
|
|
||||||
# PREDEPENDS
|
|
||||||
checkDependencies_("${FOUND_FILE_1}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-application, predepends-application-b.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_2}" ".*Pre-Depends${whitespaces_}:${whitespaces_}.*predepends-application, predepends-application-b.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_3}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-headers.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_4}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-default, predepends-default-b.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_5}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-default, predepends-default-b.*")
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
function(checkPackageInfo_ TYPE FILE REGEX)
|
|
||||||
set(whitespaces_ "[\t\n\r ]*")
|
|
||||||
|
|
||||||
getPackageInfo("${FILE}" "FILE_INFO_")
|
|
||||||
if(NOT FILE_INFO_ MATCHES "${REGEX}")
|
|
||||||
message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: '${FILE_INFO_}'")
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# check package name
|
|
||||||
checkPackageInfo_("name" "${FOUND_FILE_1}" ".*Package${whitespaces_}:${whitespaces_}per_component_fields-pkg_1")
|
|
||||||
checkPackageInfo_("name" "${FOUND_FILE_2}" ".*Package${whitespaces_}:${whitespaces_}second")
|
|
||||||
checkPackageInfo_("name" "${FOUND_FILE_3}" ".*Package${whitespaces_}:${whitespaces_}per_component_fields-pkg_3")
|
|
||||||
|
|
||||||
# check package group
|
|
||||||
checkPackageInfo_("group" "${FOUND_FILE_1}" ".*Section${whitespaces_}:${whitespaces_}default")
|
|
||||||
checkPackageInfo_("group" "${FOUND_FILE_2}" ".*Section${whitespaces_}:${whitespaces_}second_group")
|
|
||||||
checkPackageInfo_("group" "${FOUND_FILE_3}" ".*Section${whitespaces_}:${whitespaces_}default")
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
function(checkDependencies_ FILE TYPE COMPARE_LIST)
|
|
||||||
set(whitespaces_ "[\t\n\r ]*")
|
|
||||||
|
|
||||||
execute_process(COMMAND ${RPM_EXECUTABLE} -qp --${TYPE} ${FILE}
|
|
||||||
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
|
|
||||||
OUTPUT_VARIABLE FILE_DEPENDENCIES_
|
|
||||||
ERROR_QUIET
|
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
|
|
||||||
string(REPLACE "\n" ";" FILE_DEPENDENCIES_LIST_ "${FILE_DEPENDENCIES_}")
|
|
||||||
|
|
||||||
foreach(COMPARE_REGEX_ IN LISTS COMPARE_LIST)
|
|
||||||
unset(FOUND_)
|
|
||||||
|
|
||||||
foreach(COMPARE_ IN LISTS FILE_DEPENDENCIES_LIST_)
|
|
||||||
if(COMPARE_ MATCHES "${COMPARE_REGEX_}")
|
|
||||||
set(FOUND_ true)
|
|
||||||
break()
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(NOT FOUND_)
|
|
||||||
message(FATAL_ERROR "Missing dependencies in '${FILE}'; check type: '${TYPE}'; file info: '${FILE_DEPENDENCIES_}'; missing: '${COMPARE_REGEX_}'")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# TODO add tests for what should not be present in lists
|
|
||||||
checkDependencies_("${FOUND_FILE_1}" "requires" "depend-application;depend-application-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_2}" "requires" "depend-application;depend-application-b;libtest_lib\\.so.*")
|
|
||||||
checkDependencies_("${FOUND_FILE_3}" "requires" "depend-headers")
|
|
||||||
checkDependencies_("${FOUND_FILE_4}" "requires" "depend-default;depend-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_5}" "requires" "depend-default;depend-default-b")
|
|
||||||
|
|
||||||
checkDependencies_("${FOUND_FILE_1}" "conflicts" "conflict-application;conflict-application-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_2}" "conflicts" "conflict-application;conflict-application-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_3}" "conflicts" "conflict-headers")
|
|
||||||
checkDependencies_("${FOUND_FILE_4}" "conflicts" "conflict-default;conflict-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_5}" "conflicts" "conflict-default;conflict-default-b")
|
|
||||||
|
|
||||||
checkDependencies_("${FOUND_FILE_1}" "provides" "provided-default;provided-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_2}" "provides" "provided-default;provided-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_3}" "provides" "provided-default;provided-default-b")
|
|
||||||
checkDependencies_("${FOUND_FILE_4}" "provides" "provided-lib")
|
|
||||||
checkDependencies_("${FOUND_FILE_5}" "provides" "provided-lib_auto;provided-lib_auto-b")
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
function(checkPackageInfo_ TYPE FILE REGEX)
|
|
||||||
set(whitespaces_ "[\t\n\r ]*")
|
|
||||||
|
|
||||||
getPackageInfo("${FILE}" "FILE_INFO_")
|
|
||||||
if(NOT FILE_INFO_ MATCHES "${REGEX}")
|
|
||||||
message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: '${FILE_INFO_}'")
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# check package name
|
|
||||||
checkPackageInfo_("name" "${FOUND_FILE_1}" ".*Name${whitespaces_}:${whitespaces_}per_component_fields-pkg_1")
|
|
||||||
checkPackageInfo_("name" "${FOUND_FILE_2}" ".*Name${whitespaces_}:${whitespaces_}second")
|
|
||||||
checkPackageInfo_("name" "${FOUND_FILE_3}" ".*Name${whitespaces_}:${whitespaces_}per_component_fields-pkg_3")
|
|
||||||
|
|
||||||
# check package group
|
|
||||||
checkPackageInfo_("group" "${FOUND_FILE_1}" ".*Group${whitespaces_}:${whitespaces_}default")
|
|
||||||
checkPackageInfo_("group" "${FOUND_FILE_2}" ".*Group${whitespaces_}:${whitespaces_}second_group")
|
|
||||||
checkPackageInfo_("group" "${FOUND_FILE_3}" ".*Group${whitespaces_}:${whitespaces_}default")
|
|
||||||
@@ -84,8 +84,8 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# handle additional result verifications
|
# handle additional result verifications
|
||||||
if(EXISTS "${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST_FILE_PREFIX}-VerifyResult.cmake")
|
if(EXISTS "${src_dir}/tests/${RunCMake_TEST_FILE_PREFIX}/VerifyResult.cmake")
|
||||||
include("${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST_FILE_PREFIX}-VerifyResult.cmake")
|
include("${src_dir}/tests/${RunCMake_TEST_FILE_PREFIX}/VerifyResult.cmake")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
message(STATUS "${output}")
|
message(STATUS "${output}")
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
if(GENERATOR_TYPE STREQUAL "DEB")
|
||||||
|
function(checkDependencies_ FILE REGEX)
|
||||||
|
set(whitespaces_ "[\t\n\r ]*")
|
||||||
|
|
||||||
|
getPackageInfo("${FILE}" "FILE_INFO_")
|
||||||
|
if(NOT FILE_INFO_ MATCHES "${REGEX}")
|
||||||
|
message(FATAL_ERROR "Unexpected dependencies in '${FILE}'; file info: '${FILE_INFO_}'")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
foreach(dependency_type_ DEPENDS CONFLICTS ENHANCES BREAKS REPLACES RECOMMENDS SUGGESTS)
|
||||||
|
string(TOLOWER "${dependency_type_}" lower_dependency_type_)
|
||||||
|
string(SUBSTRING ${lower_dependency_type_} 1 -1 lower_dependency_type_tail_)
|
||||||
|
string(SUBSTRING ${dependency_type_} 0 1 dependency_type_head_)
|
||||||
|
set(dependency_type_name_ "${dependency_type_head_}${lower_dependency_type_tail_}")
|
||||||
|
|
||||||
|
checkDependencies_("${FOUND_FILE_1}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_2}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}.*${lower_dependency_type_}-application, ${lower_dependency_type_}-application-b.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_3}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-headers.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_4}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-default, ${lower_dependency_type_}-default-b.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_5}" ".*${dependency_type_name_}${whitespaces_}:${whitespaces_}${lower_dependency_type_}-default, ${lower_dependency_type_}-default-b.*")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
checkDependencies_("${FOUND_FILE_1}" ".*Provides${whitespaces_}:${whitespaces_}provided-default, provided-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_2}" ".*Provides${whitespaces_}:${whitespaces_}provided-default, provided-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_3}" ".*Provides${whitespaces_}:${whitespaces_}provided-default, provided-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_4}" ".*Provides${whitespaces_}:${whitespaces_}provided-lib.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_5}" ".*Provides${whitespaces_}:${whitespaces_}provided-lib_auto.*, provided-lib_auto-b.*")
|
||||||
|
|
||||||
|
# PREDEPENDS
|
||||||
|
checkDependencies_("${FOUND_FILE_1}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-application, predepends-application-b.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_2}" ".*Pre-Depends${whitespaces_}:${whitespaces_}.*predepends-application, predepends-application-b.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_3}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-headers.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_4}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-default, predepends-default-b.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_5}" ".*Pre-Depends${whitespaces_}:${whitespaces_}predepends-default, predepends-default-b.*")
|
||||||
|
elseif(GENERATOR_TYPE STREQUAL "RPM")
|
||||||
|
function(checkDependencies_ FILE TYPE COMPARE_LIST)
|
||||||
|
set(whitespaces_ "[\t\n\r ]*")
|
||||||
|
|
||||||
|
execute_process(COMMAND ${RPM_EXECUTABLE} -qp --${TYPE} ${FILE}
|
||||||
|
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
|
||||||
|
OUTPUT_VARIABLE FILE_DEPENDENCIES_
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
string(REPLACE "\n" ";" FILE_DEPENDENCIES_LIST_ "${FILE_DEPENDENCIES_}")
|
||||||
|
|
||||||
|
foreach(COMPARE_REGEX_ IN LISTS COMPARE_LIST)
|
||||||
|
unset(FOUND_)
|
||||||
|
|
||||||
|
foreach(COMPARE_ IN LISTS FILE_DEPENDENCIES_LIST_)
|
||||||
|
if(COMPARE_ MATCHES "${COMPARE_REGEX_}")
|
||||||
|
set(FOUND_ true)
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if(NOT FOUND_)
|
||||||
|
message(FATAL_ERROR "Missing dependencies in '${FILE}'; check type: '${TYPE}'; file info: '${FILE_DEPENDENCIES_}'; missing: '${COMPARE_REGEX_}'")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# TODO add tests for what should not be present in lists
|
||||||
|
checkDependencies_("${FOUND_FILE_1}" "requires" "depend-application;depend-application-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_2}" "requires" "depend-application;depend-application-b;libtest_lib\\.so.*")
|
||||||
|
checkDependencies_("${FOUND_FILE_3}" "requires" "depend-headers")
|
||||||
|
checkDependencies_("${FOUND_FILE_4}" "requires" "depend-default;depend-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_5}" "requires" "depend-default;depend-default-b")
|
||||||
|
|
||||||
|
checkDependencies_("${FOUND_FILE_1}" "conflicts" "conflict-application;conflict-application-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_2}" "conflicts" "conflict-application;conflict-application-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_3}" "conflicts" "conflict-headers")
|
||||||
|
checkDependencies_("${FOUND_FILE_4}" "conflicts" "conflict-default;conflict-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_5}" "conflicts" "conflict-default;conflict-default-b")
|
||||||
|
|
||||||
|
checkDependencies_("${FOUND_FILE_1}" "provides" "provided-default;provided-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_2}" "provides" "provided-default;provided-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_3}" "provides" "provided-default;provided-default-b")
|
||||||
|
checkDependencies_("${FOUND_FILE_4}" "provides" "provided-lib")
|
||||||
|
checkDependencies_("${FOUND_FILE_5}" "provides" "provided-lib_auto;provided-lib_auto-b")
|
||||||
|
endif()
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
function(checkPackageInfo_ TYPE FILE REGEX)
|
||||||
|
getPackageInfo("${FILE}" "FILE_INFO_")
|
||||||
|
if(NOT FILE_INFO_ MATCHES "${REGEX}")
|
||||||
|
message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: '${FILE_INFO_}'")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
if(GENERATOR_TYPE STREQUAL "DEB")
|
||||||
|
set(name_ "Package")
|
||||||
|
set(group_ "Section")
|
||||||
|
elseif(GENERATOR_TYPE STREQUAL "RPM")
|
||||||
|
set(name_ "Name")
|
||||||
|
set(group_ "Group")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(whitespaces_ "[\t\n\r ]*")
|
||||||
|
|
||||||
|
# check package name
|
||||||
|
checkPackageInfo_("name" "${FOUND_FILE_1}" ".*${name_}${whitespaces_}:${whitespaces_}per_component_fields-pkg_1")
|
||||||
|
checkPackageInfo_("name" "${FOUND_FILE_2}" ".*${name_}${whitespaces_}:${whitespaces_}second")
|
||||||
|
checkPackageInfo_("name" "${FOUND_FILE_3}" ".*${name_}${whitespaces_}:${whitespaces_}per_component_fields-pkg_3")
|
||||||
|
|
||||||
|
# check package group
|
||||||
|
checkPackageInfo_("group" "${FOUND_FILE_1}" ".*${group_}${whitespaces_}:${whitespaces_}default")
|
||||||
|
checkPackageInfo_("group" "${FOUND_FILE_2}" ".*${group_}${whitespaces_}:${whitespaces_}second_group")
|
||||||
|
checkPackageInfo_("group" "${FOUND_FILE_3}" ".*${group_}${whitespaces_}:${whitespaces_}default")
|
||||||
Reference in New Issue
Block a user