mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-10 17:14:10 +00:00
Merge topic 'test-archive-symlink-win' into release-4.3
4229667859Tests: Extend symlink-related archive tests to cross-platform19f8fcfd24Tests/File_Archive: Relax more stderr line matching Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !11941
This commit is contained in:
@@ -37,17 +37,29 @@ foreach(file ${CHECK_FILES})
|
||||
configure_file(${CMAKE_CURRENT_LIST_FILE} ${FULL_COMPRESS_DIR}/${file} COPYONLY)
|
||||
endforeach()
|
||||
|
||||
if(UNIX)
|
||||
execute_process(COMMAND ln -sf f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt)
|
||||
# Test a (file) symlink inside the archive on platforms which support it.
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt
|
||||
OUTPUT_VARIABLE create_symlink_stdout
|
||||
ERROR_VARIABLE create_symlink_stderr
|
||||
RESULT_VARIABLE create_symlink_result
|
||||
)
|
||||
if(create_symlink_result EQUAL 0 AND EXISTS "${FULL_COMPRESS_DIR}/d1/f2.txt")
|
||||
list(APPEND CHECK_FILES "d1/f2.txt")
|
||||
endif()
|
||||
|
||||
file(REMOVE ${FULL_OUTPUT_NAME})
|
||||
file(REMOVE_RECURSE ${FULL_DECOMPRESS_DIR})
|
||||
if(DESTINATION_SYMLINK AND UNIX)
|
||||
if(DESTINATION_SYMLINK)
|
||||
# If specified, test extraction to a directory symlink on platforms which
|
||||
# support it, but fall back to a plain directory otherwise.
|
||||
cmake_policy(SET CMP0205 NEW)
|
||||
file(MAKE_DIRECTORY ${FULL_DECOMPRESS_DIR}-dir)
|
||||
execute_process(COMMAND ln -sf
|
||||
${FULL_DECOMPRESS_DIR}-dir ${FULL_DECOMPRESS_DIR})
|
||||
file(CREATE_LINK
|
||||
${FULL_DECOMPRESS_DIR}-dir ${FULL_DECOMPRESS_DIR}
|
||||
COPY_ON_ERROR
|
||||
SYMBOLIC
|
||||
)
|
||||
else()
|
||||
file(MAKE_DIRECTORY ${FULL_DECOMPRESS_DIR})
|
||||
endif()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
^CMake Error at compression-level\.cmake:39 \(file\):
|
||||
^CMake Error at compression-level\.cmake:[0-9]+ \(file\):
|
||||
file compression level 100 for GZip should be in range 0 to 9
|
||||
Call Stack \(most recent call first\):
|
||||
argument-validation-compression-level-1\.cmake:8 \(check_compression_level\)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
^CMake Error at compression-level\.cmake:39 \(file\):
|
||||
^CMake Error at compression-level\.cmake:[0-9]+ \(file\):
|
||||
file compression level high for GZip should be in range 0 to 9
|
||||
Call Stack \(most recent call first\):
|
||||
argument-validation-compression-level-2\.cmake:8 \(check_compression_level\)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
^CMake Error at threads\.cmake:39 \(file\):
|
||||
^CMake Error at threads\.cmake:[0-9]+ \(file\):
|
||||
file number of threads -1 should be at least 0
|
||||
Call Stack \(most recent call first\):
|
||||
argument-validation-threads\.cmake:8 \(check_threads\)
|
||||
|
||||
@@ -27,8 +27,14 @@ function(check_compression_level COMPRESSION_LEVEL)
|
||||
configure_file(${CMAKE_CURRENT_LIST_FILE} ${FULL_COMPRESS_DIR}/${file} COPYONLY)
|
||||
endforeach()
|
||||
|
||||
if(UNIX)
|
||||
execute_process(COMMAND ln -sf f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt)
|
||||
# Test a (file) symlink inside the archive on platforms which support it.
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt
|
||||
OUTPUT_VARIABLE create_symlink_stdout
|
||||
ERROR_VARIABLE create_symlink_stderr
|
||||
RESULT_VARIABLE create_symlink_result
|
||||
)
|
||||
if(create_symlink_result EQUAL 0 AND EXISTS "${FULL_COMPRESS_DIR}/d1/f2.txt")
|
||||
list(APPEND CHECK_FILES "d1/f2.txt")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -26,17 +26,29 @@ foreach(file ${CHECK_FILES})
|
||||
configure_file(${CMAKE_CURRENT_LIST_FILE} ${FULL_COMPRESS_DIR}/${file} COPYONLY)
|
||||
endforeach()
|
||||
|
||||
if(UNIX)
|
||||
execute_process(COMMAND ln -sf f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt)
|
||||
# Test a (file) symlink inside the archive on platforms which support it.
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt
|
||||
OUTPUT_VARIABLE create_symlink_stdout
|
||||
ERROR_VARIABLE create_symlink_stderr
|
||||
RESULT_VARIABLE create_symlink_result
|
||||
)
|
||||
if(create_symlink_result EQUAL 0 AND EXISTS "${FULL_COMPRESS_DIR}/d1/f2.txt")
|
||||
list(APPEND CHECK_FILES "d1/f2.txt")
|
||||
endif()
|
||||
|
||||
file(REMOVE ${FULL_OUTPUT_NAME})
|
||||
file(REMOVE_RECURSE ${FULL_DECOMPRESS_DIR})
|
||||
if(DESTINATION_SYMLINK AND UNIX)
|
||||
if(DESTINATION_SYMLINK)
|
||||
# If specified, test extraction to a directory symlink on platforms which
|
||||
# support it, but fall back to a plain directory otherwise.
|
||||
cmake_policy(SET CMP0205 NEW)
|
||||
file(MAKE_DIRECTORY ${FULL_DECOMPRESS_DIR}-dir)
|
||||
execute_process(COMMAND ln -sf
|
||||
${FULL_DECOMPRESS_DIR}-dir ${FULL_DECOMPRESS_DIR})
|
||||
file(CREATE_LINK
|
||||
${FULL_DECOMPRESS_DIR}-dir ${FULL_DECOMPRESS_DIR}
|
||||
COPY_ON_ERROR
|
||||
SYMBOLIC
|
||||
)
|
||||
else()
|
||||
file(MAKE_DIRECTORY ${FULL_DECOMPRESS_DIR})
|
||||
endif()
|
||||
|
||||
@@ -27,8 +27,14 @@ function(check_threads THREADS)
|
||||
configure_file(${CMAKE_CURRENT_LIST_FILE} ${FULL_COMPRESS_DIR}/${file} COPYONLY)
|
||||
endforeach()
|
||||
|
||||
if(UNIX)
|
||||
execute_process(COMMAND ln -sf f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt)
|
||||
# Test a (file) symlink inside the archive on platforms which support it.
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink f1.txt ${FULL_COMPRESS_DIR}/d1/f2.txt
|
||||
OUTPUT_VARIABLE create_symlink_stdout
|
||||
ERROR_VARIABLE create_symlink_stderr
|
||||
RESULT_VARIABLE create_symlink_result
|
||||
)
|
||||
if(create_symlink_result EQUAL 0 AND EXISTS "${FULL_COMPRESS_DIR}/d1/f2.txt")
|
||||
list(APPEND CHECK_FILES "d1/f2.txt")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CMake Error at compression-level\.cmake:39 \(file\):
|
||||
CMake Error at compression-level\.cmake:[0-9]+ \(file\):
|
||||
file compression level is not supported for compression "None"\. Provided
|
||||
compression level: 1
|
||||
Call Stack \(most recent call first\):
|
||||
|
||||
Reference in New Issue
Block a user