Просмотр исходного кода

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 год назад
Родитель
Сommit
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;