mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
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
This commit is contained in:
1
Tests/RunCMake/CPack/DragNDrop/Accept.txt
Normal file
1
Tests/RunCMake/CPack/DragNDrop/Accept.txt
Normal file
@@ -0,0 +1 @@
|
||||
y
|
||||
@@ -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)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK ON)
|
||||
set(CPACK_DMG_VOLUME_NAME "volume-name")
|
||||
@@ -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")
|
||||
|
||||
3
Tests/RunCMake/CPack/tests/DMG_SLA/English.license.txt
Normal file
3
Tests/RunCMake/CPack/tests/DMG_SLA/English.license.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
LICENSE
|
||||
-------
|
||||
This is an installer created using CPack (https://cmake.org). No license provided.
|
||||
9
Tests/RunCMake/CPack/tests/DMG_SLA/English.menu.txt
Normal file
9
Tests/RunCMake/CPack/tests/DMG_SLA/English.menu.txt
Normal file
@@ -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.
|
||||
2
Tests/RunCMake/CPack/tests/DMG_SLA/ExpectedFiles.cmake
Normal file
2
Tests/RunCMake/CPack/tests/DMG_SLA/ExpectedFiles.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
set(EXPECTED_FILES_COUNT "1")
|
||||
set(EXPECTED_FILE_CONTENT_1_LIST "/foo;/foo/CMakeLists.txt")
|
||||
3
Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt
Normal file
3
Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
LIZENZ
|
||||
------
|
||||
Dies ist ein Installationsprogramm, das mit erstellt wurde CPack (https://cmake.org). Keine Lizenz angegeben.
|
||||
9
Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt
Normal file
9
Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt
Normal file
@@ -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.
|
||||
33
Tests/RunCMake/CPack/tests/DMG_SLA/VerifyResult.cmake
Normal file
33
Tests/RunCMake/CPack/tests/DMG_SLA/VerifyResult.cmake
Normal file
@@ -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()
|
||||
3
Tests/RunCMake/CPack/tests/DMG_SLA/test.cmake
Normal file
3
Tests/RunCMake/CPack/tests/DMG_SLA/test.cmake
Normal file
@@ -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)
|
||||
Reference in New Issue
Block a user