diff --git a/test/BUILD.gn b/test/BUILD.gn index bd99b5dd2b..7dafa3ab93 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -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", ] } diff --git a/test/DEPS b/test/DEPS index 02810f2936..0f4fd2fcce 100644 --- a/test/DEPS +++ b/test/DEPS @@ -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", diff --git a/test/test_main.cc b/test/test_main.cc index 1a311f63c2..5046979548 100644 --- a/test/test_main.cc +++ b/test/test_main.cc @@ -10,9 +10,17 @@ #include +#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 main = webrtc::TestMain::Create(); int err_code = main->Init(&argc, argv); if (err_code != 0) {