diff --git a/rtc_base/unittest_main.cc b/rtc_base/unittest_main.cc index 73ec44ad68..28a1bbbc09 100644 --- a/rtc_base/unittest_main.cc +++ b/rtc_base/unittest_main.cc @@ -137,5 +137,13 @@ int main(int argc, char* argv[]) { _CrtSetReportHook2(_CRT_RPTHOOK_REMOVE, TestCrtReportHandler); #endif +#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || \ + defined(MEMORY_SANITIZER) || defined(THREAD_SANITIZER) || \ + defined(UNDEFINED_SANITIZER) + // We want the test flagged as failed only for sanitizer defects, + // in which case the sanitizer will override exit code with 66. + return 0; +#endif + return res; } diff --git a/test/test_main_lib.cc b/test/test_main_lib.cc index e939f94af0..95144c98fc 100644 --- a/test/test_main_lib.cc +++ b/test/test_main_lib.cc @@ -148,6 +148,14 @@ class TestMainImpl : public TestMain { result_file.close(); } +#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || \ + defined(MEMORY_SANITIZER) || defined(THREAD_SANITIZER) || \ + defined(UNDEFINED_SANITIZER) + // We want the test flagged as failed only for sanitizer defects, + // in which case the sanitizer will override exit code with 66. + return 0; +#endif + return exit_code; #endif }