Преглед на файлове

Merge topic 'better-file-download-failure-msg'

8c3cf2716a file(DOWNLOAD EXPECTED_HASH): better error message when download failed

Acked-by: Kitware Robot <[email protected]>
Acked-by: buildbot <[email protected]>
Merge-request: !7888
Brad King преди 3 години
родител
ревизия
566064ea5e
променени са 2 файла, в които са добавени 9 реда и са изтрити 6 реда
  1. 9 5
      Source/cmFileCommand.cxx
  2. 0 1
      Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt

+ 9 - 5
Source/cmFileCommand.cxx

@@ -2107,6 +2107,14 @@ bool HandleDownloadCommand(std::vector<std::string> const& args,
   // Verify MD5 sum if requested:
   //
   if (hash) {
+    if (res != CURLE_OK) {
+      status.SetError(cmStrCat(
+        "DOWNLOAD cannot compute hash on failed download\n"
+        "  status: [",
+        static_cast<int>(res), ";\"", ::curl_easy_strerror(res), "\"]"));
+      return false;
+    }
+
     std::string actualHash = hash->HashFile(file);
     if (actualHash.empty()) {
       status.SetError("DOWNLOAD cannot compute hash on downloaded file");
@@ -2130,11 +2138,7 @@ bool HandleDownloadCommand(std::vector<std::string> const& args,
                                expectedHash,
                                "]\n"
                                "      actual hash: [",
-                               actualHash,
-                               "]\n"
-                               "           status: [",
-                               static_cast<int>(res), ";\"",
-                               ::curl_easy_strerror(res), "\"]\n"));
+                               actualHash, "]\n"));
       return false;
     }
   }

+ 0 - 1
Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt

@@ -4,7 +4,6 @@
     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\)