diff options
author | Brad King <brad.king@kitware.com> | 2020-07-02 18:22:40 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-07-02 20:39:57 (GMT) |
commit | b9737ead1f1adfea9bff176c25110052142306f0 (patch) | |
tree | 30d21ad8266362cb69b1a903a77c7f201ce29757 /Tests | |
parent | 925c026c31551bee2c28069d85eed4fb22e79b3f (diff) | |
download | CMake-b9737ead1f1adfea9bff176c25110052142306f0.zip CMake-b9737ead1f1adfea9bff176c25110052142306f0.tar.gz CMake-b9737ead1f1adfea9bff176c25110052142306f0.tar.bz2 |
Tests: Add case for CPack DMG multi-language SLAs
Add a test for the feature added by commit f88533cc06 (CPackDMG: Add
support for multilingual SLAs, 2015-10-19, v3.5.0-rc1~232^2).
Issue: #20889
Diffstat (limited to 'Tests')
11 files changed, 67 insertions, 0 deletions
diff --git a/Tests/RunCMake/CPack/DragNDrop/Accept.txt b/Tests/RunCMake/CPack/DragNDrop/Accept.txt new file mode 100644 index 0000000..975fbec --- /dev/null +++ b/Tests/RunCMake/CPack/DragNDrop/Accept.txt @@ -0,0 +1 @@ +y diff --git a/Tests/RunCMake/CPack/DragNDrop/Helpers.cmake b/Tests/RunCMake/CPack/DragNDrop/Helpers.cmake index 023e597..896fba7 100644 --- a/Tests/RunCMake/CPack/DragNDrop/Helpers.cmake +++ b/Tests/RunCMake/CPack/DragNDrop/Helpers.cmake @@ -5,6 +5,7 @@ function(getPackageContent FILE RESULT_VAR) file(REMOVE_RECURSE "${path_}/content") file(MAKE_DIRECTORY "${path_}/content") execute_process(COMMAND ${HDIUTIL_EXECUTABLE} attach -mountroot ${path_}/content -nobrowse ${FILE} + INPUT_FILE "${src_dir}/DragNDrop/Accept.txt" RESULT_VARIABLE attach_result_ ERROR_VARIABLE attach_error_ OUTPUT_STRIP_TRAILING_WHITESPACE) diff --git a/Tests/RunCMake/CPack/DragNDrop/packaging_MONOLITHIC_default.cmake b/Tests/RunCMake/CPack/DragNDrop/packaging_MONOLITHIC_default.cmake new file mode 100644 index 0000000..ca27890 --- /dev/null +++ b/Tests/RunCMake/CPack/DragNDrop/packaging_MONOLITHIC_default.cmake @@ -0,0 +1,2 @@ +set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK ON) +set(CPACK_DMG_VOLUME_NAME "volume-name") diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index 831f430..530bcdf 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -10,6 +10,7 @@ run_cpack_test(DEBUGINFO "RPM.DEBUGINFO;DEB.DEBUGINFO" true "COMPONENT") run_cpack_test_subtests(DEFAULT_PERMISSIONS "CMAKE_var_set;CPACK_var_set;both_set;invalid_CMAKE_var;invalid_CPACK_var" "RPM.DEFAULT_PERMISSIONS;DEB.DEFAULT_PERMISSIONS" false "MONOLITHIC;COMPONENT") run_cpack_test(DEPENDENCIES "RPM.DEPENDENCIES;DEB.DEPENDENCIES" true "COMPONENT") run_cpack_test(DIST "RPM.DIST" false "MONOLITHIC") +run_cpack_test(DMG_SLA "DragNDrop" false "MONOLITHIC") run_cpack_test(EMPTY_DIR "RPM.EMPTY_DIR;DEB.EMPTY_DIR;TGZ" true "MONOLITHIC;COMPONENT") run_cpack_test(VERSION "RPM.VERSION;DEB.VERSION" false "MONOLITHIC;COMPONENT") run_cpack_test(EXTRA "DEB.EXTRA" false "COMPONENT") diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/English.license.txt b/Tests/RunCMake/CPack/tests/DMG_SLA/English.license.txt new file mode 100644 index 0000000..d829d93 --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/English.license.txt @@ -0,0 +1,3 @@ +LICENSE +------- +This is an installer created using CPack (https://cmake.org). No license provided. diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/English.menu.txt b/Tests/RunCMake/CPack/tests/DMG_SLA/English.menu.txt new file mode 100644 index 0000000..b2cbc25 --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/English.menu.txt @@ -0,0 +1,9 @@ +English +Agree +Disagree +Print +Save... +You agree to the License Agreement terms when you click the "Agree" button. +Software License Agreement +This text cannot be saved. This disk may be full or locked or the file may be locked. +Unable to print. Make sure you have selected a printer. diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/ExpectedFiles.cmake b/Tests/RunCMake/CPack/tests/DMG_SLA/ExpectedFiles.cmake new file mode 100644 index 0000000..d1a3a5f --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/ExpectedFiles.cmake @@ -0,0 +1,2 @@ +set(EXPECTED_FILES_COUNT "1") +set(EXPECTED_FILE_CONTENT_1_LIST "/foo;/foo/CMakeLists.txt") diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt b/Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt new file mode 100644 index 0000000..0edd1f2 --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt @@ -0,0 +1,3 @@ +LIZENZ +------ +Dies ist ein Installationsprogramm, das mit erstellt wurde CPack (https://cmake.org). Keine Lizenz angegeben. diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt b/Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt new file mode 100644 index 0000000..7724818 --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt @@ -0,0 +1,9 @@ +German +Akzeptieren +Ablehnen +Drucken +Speichern... +Klicken Sie auf "Akzeptieren", wenn Sie mit den Bestimmungen des Software-Lizenzvertrages einverstanden sind. +Software-Lizenzvertrag +Dieser Text kann nicht gesichert werden. Diese Festplatte ist mglicherweise voll oder geschtzt oder der Ordner ist geschtzt. +Es kann nicht gedruckt werden. Bitte stellen Sie sicher, dass ein Drucker ausgewhlt ist. diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/VerifyResult.cmake b/Tests/RunCMake/CPack/tests/DMG_SLA/VerifyResult.cmake new file mode 100644 index 0000000..59c1496 --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/VerifyResult.cmake @@ -0,0 +1,33 @@ +set(dmg "${bin_dir}/${FOUND_FILE_1}") +execute_process(COMMAND hdiutil udifderez -xml "${dmg}" OUTPUT_VARIABLE out ERROR_VARIABLE err RESULT_VARIABLE res) +if(NOT res EQUAL 0) + string(REPLACE "\n" "\n " err " ${err}") + message(FATAL_ERROR "Running 'hdiutil udifderez -xml' on\n ${dmg}\nfailed with:\n${err}") +endif() +foreach(key "LPic" "STR#" "TEXT") + if(NOT out MATCHES "<key>${key}</key>") + string(REPLACE "\n" "\n " out " ${out}") + message(FATAL_ERROR "error: running 'hdiutil udifderez -xml' on\n ${dmg}\ndid not show '${key}' key:\n${out}") + endif() +endforeach() +foreach(line + # LPic + "\tAAAAAgAAAAAAAAADAAEAAA==\n" + # STR# English first and last base64 lines + "\tAAkHRW5nbGlzaAVBZ3JlZQhEaXNhZ3JlZQVQcmludAdTYXZlLi4u\n" + "\tZCBhIHByaW50ZXIu\n" + # STR# German first and last base64 lines + "\tAAkGR2VybWFuC0FremVwdGllcmVuCEFibGVobmVuB0RydWNrZW4M\n" + "\tYXVzZ2V3wopobHQgaXN0Lg==\n" + # TEXT English first and last base64 lines + "\tTElDRU5TRQ0tLS0tLS0tDVRoaXMgaXMgYW4gaW5zdGFsbGVyIGNy\n" + "\tTm8gbGljZW5zZSBwcm92aWRlZC4NDQ==\n" + # TEXT German first and last base64 lines + "\tTElaRU5aDS0tLS0tLQ1EaWVzIGlzdCBlaW4gSW5zdGFsbGF0aW9u\n" + "\tZ2ViZW4uDQ0=\n" + ) + if(NOT out MATCHES "${line}") + string(REPLACE "\n" "\n " out " ${out}") + message(FATAL_ERROR "error: running 'hdiutil udifderez -xml' on\n ${dmg}\ndid not show '${line}':\n${out}") + endif() +endforeach() diff --git a/Tests/RunCMake/CPack/tests/DMG_SLA/test.cmake b/Tests/RunCMake/CPack/tests/DMG_SLA/test.cmake new file mode 100644 index 0000000..2804b0b --- /dev/null +++ b/Tests/RunCMake/CPack/tests/DMG_SLA/test.cmake @@ -0,0 +1,3 @@ +install(FILES CMakeLists.txt DESTINATION foo) +set(CPACK_DMG_SLA_DIR "${CMAKE_CURRENT_LIST_DIR}") +set(CPACK_DMG_SLA_LANGUAGES English German) |