浏览代码

Abort rather than exiting "normally" if an autoupdate step crashes. (#4483)

This avoids producing an LSan leak report for the objects that got
leaked by the crash, which would otherwise scroll all the useful
information about the crash off the terminal.
Richard Smith 1 年之前
父节点
当前提交
d1733c6aa7
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      testing/file_test/file_test_base.cpp

+ 3 - 1
testing/file_test/file_test_base.cpp

@@ -1015,7 +1015,9 @@ static auto RunAutoupdate(llvm::StringRef exe_path,
 
   pool.wait();
   if (crashed) {
-    return EXIT_FAILURE;
+    // Abort rather than returning so that we don't get a LeakSanitizer report.
+    // We expect to have leaked memory if one or more of our tests crashed.
+    std::abort();
   }
   llvm::errs() << "\nDone!\n";
   return EXIT_SUCCESS;