summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CPack
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-06-26 12:43:45 (GMT)
committerKitware Robot <kwrobot@kitware.com>2024-06-26 12:44:02 (GMT)
commita20377e41afddb974539378cc8065d9e9f38b151 (patch)
tree69e0e5226bac46855627d3babf4b923dd2a61357 /Tests/RunCMake/CPack
parent0ffdd6b50fb30e0e203dbfd278665f7cbde6d735 (diff)
parent71c631c435c6075ea094ab6fe3104491ab5f9365 (diff)
downloadCMake-a20377e41afddb974539378cc8065d9e9f38b151.zip
CMake-a20377e41afddb974539378cc8065d9e9f38b151.tar.gz
CMake-a20377e41afddb974539378cc8065d9e9f38b151.tar.bz2
Merge topic 'cpack-debian-multiarch'
71c631c435 CPack/DEB: Add Multi-Arch support 55524c48a4 CPack/DEB: Add Multi-Arch support a022705a2e Tests/RunCMake/CPack: Improve README Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9609
Diffstat (limited to 'Tests/RunCMake/CPack')
-rw-r--r--Tests/RunCMake/CPack/README.txt8
-rw-r--r--Tests/RunCMake/CPack/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/CPack/tests/MULTIARCH/DEB-fail-stderr.txt1
-rw-r--r--Tests/RunCMake/CPack/tests/MULTIARCH/ExpectedFiles.cmake5
-rw-r--r--Tests/RunCMake/CPack/tests/MULTIARCH/VerifyResult.cmake4
-rw-r--r--Tests/RunCMake/CPack/tests/MULTIARCH/test.cmake7
6 files changed, 22 insertions, 4 deletions
diff --git a/Tests/RunCMake/CPack/README.txt b/Tests/RunCMake/CPack/README.txt
index 2165125..d403db0 100644
--- a/Tests/RunCMake/CPack/README.txt
+++ b/Tests/RunCMake/CPack/README.txt
@@ -10,8 +10,8 @@ CPack test root directory: 'Tests/RunCMake/CPack/tests'.
All phases are executed separately for each generator that is bound to a test.
Tests for each generator are subtests of test 'RunCMake.CPack_<generator_name>'.
-Each test must also be added to 'RunCMakeTest.cmake' script located in CPack
-test root directory.
+Each test must be added to list "cpack_tests" in 'Tests/RunCMake/CMakeLists.txt'
+and also to 'RunCMakeTest.cmake' script located in 'Tests/RunCMake/CPack/'.
Line that adds a test is:
run_cpack_test(<test_name> "<generator_name_list>" <compile_stage>
@@ -53,7 +53,7 @@ Test consists of
- verification of generated files
The phases are executed once per specified generator, packaging type and subtest
-combinatiion.
+combination.
test prerequirements phase (optional):
--------------------------------------
@@ -136,7 +136,7 @@ this step and must contain
- EXPECTED_FILES_COUNT variable that contains the number of expected files that
will be generated (0 or more)
-- EXPECTED_FILE_<file_number_starting_with_1> that contains globing expression
+- EXPECTED_FILE_<file_number_starting_with_1> that contains globbing expression
that uniquely defines expected file name (will be used to find expected file)
and should be present once for each expected file.
NOTE: This variable should be used only as last resort as it sets generator
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 5d32404..54671aa 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -73,3 +73,4 @@ 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")
+run_cpack_test_subtests(MULTIARCH "same;foreign;allowed;fail" "DEB.MULTIARCH" false "MONOLITHIC;COMPONENT")
diff --git a/Tests/RunCMake/CPack/tests/MULTIARCH/DEB-fail-stderr.txt b/Tests/RunCMake/CPack/tests/MULTIARCH/DEB-fail-stderr.txt
new file mode 100644
index 0000000..8164e83
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/MULTIARCH/DEB-fail-stderr.txt
@@ -0,0 +1 @@
+Error: invalid value for Multi-Arch: fail\. Valid values are: same, foreign, allowed
diff --git a/Tests/RunCMake/CPack/tests/MULTIARCH/ExpectedFiles.cmake b/Tests/RunCMake/CPack/tests/MULTIARCH/ExpectedFiles.cmake
new file mode 100644
index 0000000..14b898f
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/MULTIARCH/ExpectedFiles.cmake
@@ -0,0 +1,5 @@
+set(EXPECTED_FILES_COUNT "0")
+if(NOT ${RunCMake_SUBTEST_SUFFIX} STREQUAL "fail")
+ set(EXPECTED_FILES_COUNT "1")
+ set(EXPECTED_FILE_CONTENT_1_LIST "/foo;/foo/CMakeLists.txt")
+endif ()
diff --git a/Tests/RunCMake/CPack/tests/MULTIARCH/VerifyResult.cmake b/Tests/RunCMake/CPack/tests/MULTIARCH/VerifyResult.cmake
new file mode 100644
index 0000000..f4e8050
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/MULTIARCH/VerifyResult.cmake
@@ -0,0 +1,4 @@
+if(NOT ${RunCMake_SUBTEST_SUFFIX} STREQUAL "fail")
+ set(MULTIARCH_control "Multi-Arch: ${RunCMake_SUBTEST_SUFFIX}")
+ verifyDebControl("${FOUND_FILE_1}" "MULTIARCH" "control")
+endif ()
diff --git a/Tests/RunCMake/CPack/tests/MULTIARCH/test.cmake b/Tests/RunCMake/CPack/tests/MULTIARCH/test.cmake
new file mode 100644
index 0000000..9784342
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/MULTIARCH/test.cmake
@@ -0,0 +1,7 @@
+install(FILES CMakeLists.txt DESTINATION foo COMPONENT test)
+
+set(CPACK_DEBIAN_PACKAGE_MULTIARCH ${RunCMake_SUBTEST_SUFFIX})
+
+if(PACKAGING_TYPE STREQUAL "COMPONENT")
+ set(CPACK_COMPONENTS_ALL test)
+endif()