Browse Source

Tests: Add CPack/DMG case covering SLA from CPACK_RESOURCE_FILE_LICENSE

Brad King 3 years ago
parent
commit
542ba6ac1a

+ 1 - 0
Tests/RunCMake/CPack/RunCMakeTest.cmake

@@ -21,6 +21,7 @@ if(NOT "${DEBUGEDIT}" STREQUAL "DEBUGEDIT-NOTFOUND")
 endif()
 run_cpack_test(DIST "RPM.DIST" false "MONOLITHIC")
 run_cpack_test(DMG_SLA "DragNDrop" false "MONOLITHIC")
+run_cpack_test(DMG_SLA_FILE "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")

+ 4 - 0
Tests/RunCMake/CPack/tests/DMG_SLA_FILE/Example.txt

@@ -0,0 +1,4 @@
+Example License File
+--------------------
+
+This is an example license file for a DMG.

+ 2 - 0
Tests/RunCMake/CPack/tests/DMG_SLA_FILE/ExpectedFiles.cmake

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

+ 22 - 0
Tests/RunCMake/CPack/tests/DMG_SLA_FILE/VerifyResult.cmake

@@ -0,0 +1,22 @@
+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
+    # TEXT first and last base64 lines
+    "\tRXhhbXBsZSBMaWNlbnNlIEZpbGUNLS0tLS0tLS0tLS0tLS0tLS0t\n"
+    "\tYSBETUcuDQ0=\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()

+ 2 - 0
Tests/RunCMake/CPack/tests/DMG_SLA_FILE/test.cmake

@@ -0,0 +1,2 @@
+install(FILES CMakeLists.txt DESTINATION foo)
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_LIST_DIR}/Example.txt")