Print stack trace when a test crash

That should simplify debugging failures caused by RTC_DCHECK/RTC_CHECK

TBR=kwiberg@webrtc.org [to pass DEPS change check]

Bug: None
Change-Id: Idb8be3b79309b4ad0baf5ae480356aa5c8cfe361
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148802
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28832}
This commit is contained in:
Danil Chapovalov 2019-08-12 13:40:47 +02:00 committed by Commit Bot
parent eea605deeb
commit 40dc98a117
3 changed files with 14 additions and 0 deletions

View file

@ -278,6 +278,8 @@ if (rtc_include_tests) {
deps = [
":test_main_lib",
"//third_party/abseil-cpp/absl/debugging:failure_signal_handler",
"//third_party/abseil-cpp/absl/debugging:symbolize",
]
}

View file

@ -46,6 +46,10 @@ specific_include_rules = {
".*stun_validator_fuzzer\.cc": [
"+p2p/base/stun.h",
],
".*test_main\.cc": [
"+absl/debugging/failure_signal_handler.h",
"+absl/debugging/symbolize.h",
],
".*test_peer\.(h|cc)": [
"+pc",
"+p2p",

View file

@ -10,9 +10,17 @@
#include <memory>
#include "absl/debugging/failure_signal_handler.h"
#include "absl/debugging/symbolize.h"
#include "test/test_main_lib.h"
int main(int argc, char* argv[]) {
// Initialize the symbolizer to get a human-readable stack trace
absl::InitializeSymbolizer(argv[0]);
absl::FailureSignalHandlerOptions options;
absl::InstallFailureSignalHandler(options);
std::unique_ptr<webrtc::TestMain> main = webrtc::TestMain::Create();
int err_code = main->Init(&argc, argv);
if (err_code != 0) {