1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

Tests: Improve RunCMake.CPack*.SOURCE_PACKAGE test error formatting

Format message content for `message(FATAL_ERROR)`.

Apply the change from commit c54c284de7 (Tests: Improve RunCMake.CPack*
test error formatting, 2021-04-22) to the `SOURCE_PACKAGE` script too.
Also fix a typo from commit f5d79dec53 (Tests: Cleanup CPack message when
files are expected and none are found, 2021-01-15, v3.20.0-rc1~89^2~22).
This commit is contained in:
Brad King
2021-06-09 08:15:30 -04:00
parent 5e26887c35
commit d4056f24a1
2 changed files with 28 additions and 11 deletions

View File

@@ -87,7 +87,7 @@ if(NOT EXPECTED_FILES_COUNT EQUAL 0)
"which does not match:${msg_expected}\n"
"${output_error_message}")
endif()
elseif(foundFilescount_ EQUAL 0)
elseif(foundFilesCount_ EQUAL 0)
message(FATAL_ERROR
"Found no files for file ${file_no_}!\n"
"Globbing expression:\n '${EXPECTED_FILE_${file_no_}}'\n"

View File

@@ -18,14 +18,20 @@ execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --define "_topdir ${CMAKE_CURRENT
OUTPUT_QUIET
)
set(output_error_message_
"\n${RPMBUILD_EXECUTABLE} error: '${error_}';\nresult: '${result_}';\n${output_error_message}")
string(REPLACE "\n" "\n rpmbuild-err> " rpmbuild_err "\n${error_}")
string(REPLACE "\n" "\n rpmbuild-res> " rpmbuild_res "\n${result_}")
string(CONCAT output_error_message_
"${RPMBUILD_EXECUTABLE} error:${rpmbuild_err}\n"
"${RPMBUILD_EXECUTABLE} result:${rpmbuild_res}\n"
"${output_error_message}"
)
# expected file content are test_prog and optional build-id links that are
# generated by rpmbuild (introduced in rpm 4.13.0.1)
set(EXPECTED_FILE_CONTENT_ "^/foo${whitespaces_}/foo/test_prog(${whitespaces_}.*\.build-id.*)*$")
set(EXPECTED_FILE_ "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS/*.rpm")
file(GLOB_RECURSE FOUND_FILE_ RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS" "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS/*.rpm")
file(GLOB_RECURSE FOUND_FILE_ RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS" "${EXPECTED_FILE_}")
list(APPEND foundFiles_ "${FOUND_FILE_}")
list(LENGTH FOUND_FILE_ foundFilesCount_)
@@ -37,17 +43,27 @@ if(foundFilesCount_ EQUAL 1)
expected_content_list "${PACKAGE_CONTENT}")
if(NOT expected_content_list)
string(REPLACE "\n" "\n actual> " msg_actual "\n${PACKAGE_CONTENT}")
string(REPLACE "\n" "\n expect> " msg_expected "\n${EXPECTED_FILE_CONTENT_}")
string(REPLACE "\r" "\\r" msg_expected "${msg_expected}")
string(REPLACE "\t" "\\t" msg_expected "${msg_expected}")
message(FATAL_ERROR
"Unexpected file content!\n"
" Content: '${PACKAGE_CONTENT}'\n\n"
" Expected: '${EXPECTED_FILE_CONTENT_}'"
"The content was:${msg_actual}\n"
"which does not match:${msg_expected}\n"
"${output_error_message_}")
endif()
elseif(foundFilesCount_ EQUAL 0)
message(FATAL_ERROR
"Found no files!\n"
"Globbing expression:\n '${EXPECTED_FILE_}'\n"
"${output_error_message_}")
else()
message(FATAL_ERROR
"Found more than one file!"
" Found files count '${foundFilesCount_}'."
" Files: '${FOUND_FILE_}'"
"Found more than one file!\n"
"Found files count '${foundFilesCount_}'.\n"
"Files:\n '${FOUND_FILE_}'\n"
"Globbing expression:\n '${EXPECTED_FILE_}'\n"
"${output_error_message_}")
endif()
@@ -62,6 +78,7 @@ list(LENGTH allFoundFiles_ allFoundFilesCount_)
if(NOT foundFilesCount_ EQUAL allFoundFilesCount_)
message(FATAL_ERROR
"Found more files than expected! Found files: '${allFoundFiles_}'"
"${output_error_message_}")
"Found more files than expected!\n"
"Found files:\n '${allFoundFiles_}'\n"
"${output_error_message_}")
endif()