From 2b5b0e95212833265e53e413c3cb96a1dcfa21d1 Mon Sep 17 00:00:00 2001 From: Alex Loiko Date: Wed, 21 Nov 2018 10:50:48 +0100 Subject: [PATCH] Disabling ScreenDrawerTest.TwoScreenDrawerLocks Test disabled on TSAN due to repeated failures. There are data races in a low-level syncronization primitive (semaphore). Since syncronization primitives should handle that, I think TSAN may be configured incorrectly. The locking scheme is written entirely in the unit test. This means we are losing some test coverage of *unit tests*. TBR=jamiewalch@chromium.org Bug: webrtc:10019 Change-Id: Ieafa00a5a789acf8d0bacf6ad669c6daca7efa17 Reviewed-on: https://webrtc-review.googlesource.com/c/111585 Reviewed-by: Alex Loiko Commit-Queue: Alex Loiko Cr-Commit-Position: refs/heads/master@{#25723} --- modules/desktop_capture/screen_drawer_unittest.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/desktop_capture/screen_drawer_unittest.cc b/modules/desktop_capture/screen_drawer_unittest.cc index 5f0f3cc573..d48fa89c0b 100644 --- a/modules/desktop_capture/screen_drawer_unittest.cc +++ b/modules/desktop_capture/screen_drawer_unittest.cc @@ -140,7 +140,12 @@ TEST(ScreenDrawerTest, DISABLED_DrawRectangles) { SleepMs(10000); } -TEST(ScreenDrawerTest, TwoScreenDrawerLocks) { +#if defined(THREAD_SANITIZER) // bugs.webrtc.org/10019 +#define MAYBE_TwoScreenDrawerLocks DISABLED_TwoScreenDrawerLocks +#else +#define MAYBE_TwoScreenDrawerLocks TwoScreenDrawerLocks +#endif +TEST(ScreenDrawerTest, MAYBE_TwoScreenDrawerLocks) { #if defined(WEBRTC_POSIX) // ScreenDrawerLockPosix won't be able to unlink the named semaphore. So use a // different semaphore name here to avoid deadlock.