Merge topic 'file-download-status-hash-mismatch'
6c9586f9
file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987)
This commit is contained in:
commit
cc7a1b1941
|
@ -3300,6 +3300,15 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
|
|||
<< " status: [" << (int)res << ";\""
|
||||
<< ::curl_easy_strerror(res) << "\"]" << std::endl
|
||||
;
|
||||
|
||||
if(!statusVar.empty() && res == 0)
|
||||
{
|
||||
std::string status = "1;HASH mismatch: "
|
||||
"expected: " + expectedHash +
|
||||
" actual: " + actualHash;
|
||||
this->Makefile->AddDefinition(statusVar, status.c_str());
|
||||
}
|
||||
|
||||
this->SetError(oss.str());
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
1
|
|
@ -0,0 +1,12 @@
|
|||
^CMake Error at DOWNLOAD-hash-mismatch.cmake:[0-9]+ \(file\):
|
||||
file DOWNLOAD HASH mismatch
|
||||
|
||||
for file: \[.*/Tests/RunCMake/file/DOWNLOAD-hash-mismatch-build/hash-mismatch.txt\]
|
||||
expected hash: \[0123456789abcdef0123456789abcdef01234567\]
|
||||
actual hash: \[da39a3ee5e6b4b0d3255bfef95601890afd80709\]
|
||||
status: \[0;"No error"\]
|
||||
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:[0-9]+ \(include\)
|
||||
+
|
||||
status='1;HASH mismatch: expected: 0123456789abcdef0123456789abcdef01234567 actual: da39a3ee5e6b4b0d3255bfef95601890afd80709'$
|
|
@ -0,0 +1,7 @@
|
|||
file(DOWNLOAD
|
||||
"file://${CMAKE_CURRENT_SOURCE_DIR}/DOWNLOAD-hash-mismatch.txt"
|
||||
${CMAKE_CURRENT_BINARY_DIR}/hash-mismatch.txt
|
||||
EXPECTED_HASH SHA1=0123456789abcdef0123456789abcdef01234567
|
||||
STATUS status
|
||||
)
|
||||
message("status='${status}'")
|
|
@ -1,5 +1,6 @@
|
|||
include(RunCMake)
|
||||
|
||||
run_cmake(DOWNLOAD-hash-mismatch)
|
||||
run_cmake(INSTALL-DIRECTORY)
|
||||
run_cmake(INSTALL-MESSAGE-bad)
|
||||
run_cmake(FileOpenFailRead)
|
||||
|
|
Loading…
Reference in New Issue