CPack: Add tests for component containing problematic characters

This commit is contained in:
Deniz Bahadir
2024-05-01 19:20:32 +02:00
parent a1af593291
commit d7e2fede03
5 changed files with 81 additions and 0 deletions

View File

@@ -1047,6 +1047,7 @@ set(cpack_tests
DEB.DEB_PACKAGE_VERSION_BACK_COMPATIBILITY
DEB.DEB_DESCRIPTION
DEB.PROJECT_META
DEB.COMPONENT_WITH_SPECIAL_CHARS
RPM.AUTO_SUFFIXES
RPM.CUSTOM_BINARY_SPEC_FILE
@@ -1069,6 +1070,7 @@ set(cpack_tests
RPM.SYMLINKS
RPM.USER_FILELIST
RPM.PROJECT_META
RPM.COMPONENT_WITH_SPECIAL_CHARS
7Z
TBZ2

View File

@@ -0,0 +1 @@
set(CPACK_PACKAGE_CONTACT "someone")

View File

@@ -71,3 +71,5 @@ run_cpack_test_subtests(
run_cpack_test(PROJECT_META "RPM.PROJECT_META;DEB.PROJECT_META" false "MONOLITHIC;COMPONENT")
run_cpack_test_package_target(PRE_POST_SCRIPTS "ZIP" false "MONOLITHIC;COMPONENT")
run_cpack_test_subtests(DUPLICATE_FILE "success;conflict_file;conflict_symlink" "TGZ" false "COMPONENT;GROUP")
run_cpack_test(COMPONENT_WITH_SPECIAL_CHARS "RPM.COMPONENT_WITH_SPECIAL_CHARS;DEB.COMPONENT_WITH_SPECIAL_CHARS;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ" false "MONOLITHIC;COMPONENT;GROUP")
run_cpack_test_package_target(COMPONENT_WITH_SPECIAL_CHARS "RPM.COMPONENT_WITH_SPECIAL_CHARS;DEB.COMPONENT_WITH_SPECIAL_CHARS;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ" false "MONOLITHIC;COMPONENT;GROUP")

View File

@@ -0,0 +1,42 @@
if(PACKAGING_TYPE STREQUAL "MONOLITHIC")
set(EXPECTED_FILES_COUNT "1")
set(EXPECTED_FILE_CONTENT_1_LIST
"/foo1"
"/foo1/CMakeLists.txt"
"/foo2"
"/foo2/CMakeLists.txt"
"/foo3"
"/foo3/CMakeLists.txt"
)
elseif(PACKAGING_TYPE STREQUAL "COMPONENT")
set(EXPECTED_FILES_COUNT "3")
set(EXPECTED_FILE_1 "*-comp1.test1.*")
set(EXPECTED_FILE_CONTENT_1_LIST
"/foo1"
"/foo1/CMakeLists.txt"
)
set(EXPECTED_FILE_2 "*-component2.*")
set(EXPECTED_FILE_CONTENT_2_LIST
"/foo2"
"/foo2/CMakeLists.txt"
)
set(EXPECTED_FILE_3 "*-component3.*")
set(EXPECTED_FILE_CONTENT_3_LIST
"/foo3"
"/foo3/CMakeLists.txt"
)
elseif(PACKAGING_TYPE STREQUAL "GROUP")
set(EXPECTED_FILES_COUNT "2")
set(EXPECTED_FILE_1 "*-group1.*")
set(EXPECTED_FILE_CONTENT_1_LIST
"/foo1"
"/foo1/CMakeLists.txt"
"/foo2"
"/foo2/CMakeLists.txt"
)
set(EXPECTED_FILE_2 "*-group2.*")
set(EXPECTED_FILE_CONTENT_2_LIST
"/foo3"
"/foo3/CMakeLists.txt"
)
endif()

View File

@@ -0,0 +1,34 @@
install(FILES CMakeLists.txt DESTINATION foo1 COMPONENT comp1.test1)
install(FILES CMakeLists.txt DESTINATION foo2 COMPONENT comp2::test2)
install(FILES CMakeLists.txt DESTINATION foo3 COMPONENT comp3/test3)
if(PACKAGING_TYPE STREQUAL "COMPONENT")
foreach(gen IN ITEMS ARCHIVE DEBIAN RPM)
set(CPACK_${gen}_COMP2::TEST2_FILE_NAME "component_with_special_chars-0.1.1-${CMAKE_SYSTEM_NAME}-component2")
set(CPACK_${gen}_COMP3/TEST3_FILE_NAME "component_with_special_chars-0.1.1-${CMAKE_SYSTEM_NAME}-component3")
endforeach()
elseif(PACKAGING_TYPE STREQUAL "GROUP")
set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP)
foreach(gen IN ITEMS ARCHIVE DEB RPM)
set(CPACK_${gen}_COMPONENT_INSTALL ON)
endforeach()
include(CPackComponent)
cpack_add_component_group(group1 DISPLAY_NAME "Group 1")
cpack_add_component_group(group2 DISPLAY_NAME "Group 2")
cpack_add_component(comp1.test1
DISPLAY_NAME "Group 1"
DESCRIPTION "Component for Group 1"
GROUP group1
)
cpack_add_component(comp2::test2
DISPLAY_NAME "Group 1"
DESCRIPTION "Component for Group 1"
GROUP group1
)
cpack_add_component(comp3/test3
DISPLAY_NAME "Group 2"
DESCRIPTION "Component for Group 2"
GROUP group2
)
endif()