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:
Brad King
2020-07-02 14:22:40 -04:00
parent 925c026c31
commit b9737ead1f
11 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1 @@
y

View File

@@ -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)

View File

@@ -0,0 +1,2 @@
set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK ON)
set(CPACK_DMG_VOLUME_NAME "volume-name")

View File

@@ -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")

View File

@@ -0,0 +1,3 @@
LICENSE
-------
This is an installer created using CPack (https://cmake.org). No license provided.

View 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.

View File

@@ -0,0 +1,2 @@
set(EXPECTED_FILES_COUNT "1")
set(EXPECTED_FILE_CONTENT_1_LIST "/foo;/foo/CMakeLists.txt")

View File

@@ -0,0 +1,3 @@
LIZENZ
------
Dies ist ein Installationsprogramm, das mit erstellt wurde CPack (https://cmake.org). Keine Lizenz angegeben.

View 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 mšglicherweise voll oder geschŸtzt oder der Ordner ist geschŸtzt.
Es kann nicht gedruckt werden. Bitte stellen Sie sicher, dass ein Drucker ausgewŠhlt ist.

View 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()

View 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)