aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc
diff options
context:
space:
mode:
authorMark Mentovai <mark@chromium.org>2019-04-26 14:00:01 -0400
committerMark Mentovai <mark@chromium.org>2019-04-26 18:44:54 +0000
commit21b48a72aa50dde84149267f6b7402522b846b24 (patch)
tree41447920039676cbe4eaaad646ffac595f29b861 /src/client/linux/minidump_writer/linux_core_dumper_unittest.cc
parentLinux MinidumpWriter: fix stack-use-after-scope violation (diff)
downloadbreakpad-21b48a72aa50dde84149267f6b7402522b846b24.tar.xz
Linux breakpad_unittests: fix ThreadSanitizer problems
Some tests were failing because they had expectations about the number of threads in a process, but TSan, and in some cases, ASan, introduce their own threads. Where a sanitizer affects this, the expectations are now used as minimum thread counts, not exact thread counts. See https://www.brooklinen.com/blogs/brookliving/best-thread-count-for-sheets. These problems were detected by ThreadSanitizer at https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8915151099544583616/+/steps/breakpad_unittests__with_patch_/0/stdout Bug: chromium:949098 Change-Id: Ie40f1766bea27e9bcb112bf9e0b8b846fb343012 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1585948 Reviewed-by: Robert Sesek <rsesek@chromium.org>
Diffstat (limited to 'src/client/linux/minidump_writer/linux_core_dumper_unittest.cc')
-rw-r--r--src/client/linux/minidump_writer/linux_core_dumper_unittest.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc b/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc
index 212b151b..77448031 100644
--- a/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc
+++ b/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc
@@ -116,7 +116,11 @@ TEST(LinuxCoreDumperTest, VerifyDumpWithMultipleThreads) {
EXPECT_EQ(crash_generator.GetThreadId(kCrashThread),
dumper.crash_thread());
- EXPECT_EQ(kNumOfThreads, dumper.threads().size());
+#if defined(THREAD_SANITIZER)
+ EXPECT_GE(dumper.threads().size(), kNumOfThreads);
+#else
+ EXPECT_EQ(dumper.threads().size(), kNumOfThreads);
+#endif
for (unsigned i = 0; i < kNumOfThreads; ++i) {
ThreadInfo info;
EXPECT_TRUE(dumper.GetThreadInfoByIndex(i, &info));