Disable mutex warning when intentionnaly creating a deadlock.

This is to unblock Chromium roll into WebRTC.

Change-Id: I14d2e71ca19b2b5583e87df0b95197ee0ed73b37
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/401020
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45173}
diff --git a/modules/desktop_capture/win/window_capture_utils_unittest.cc b/modules/desktop_capture/win/window_capture_utils_unittest.cc
index eda18ef..009fa33 100644
--- a/modules/desktop_capture/win/window_capture_utils_unittest.cc
+++ b/modules/desktop_capture/win/window_capture_utils_unittest.cc
@@ -28,6 +28,24 @@
 constexpr char kWindowThreadName[] = "window_capture_utils_test_thread";
 const WCHAR kWindowTitle[] = L"Window Capture Utils Test";
 
+TEST(WindowCaptureUtilsTest, GetWindowList) {
+  WindowInfo info = CreateTestWindow(kWindowTitle);
+  DesktopCapturer::SourceList window_list;
+  ASSERT_TRUE(GetWindowList(GetWindowListFlags::kNone, &window_list));
+  EXPECT_GT(window_list.size(), 0ULL);
+  EXPECT_NE(std::find_if(window_list.begin(), window_list.end(),
+                         [&info](DesktopCapturer::Source window) {
+                           return reinterpret_cast<HWND>(window.id) ==
+                                  info.hwnd;
+                         }),
+            window_list.end());
+  DestroyTestWindow(info);
+}
+
+// Disable thread-safety-analysis in order to test unresponsive Windows.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wthread-safety-analysis"
+
 std::unique_ptr<Thread> SetUpUnresponsiveWindow(std::mutex& mtx,
                                                 WindowInfo& info) {
   std::unique_ptr<Thread> window_thread;
@@ -47,22 +65,6 @@
   return window_thread;
 }
 
-}  // namespace
-
-TEST(WindowCaptureUtilsTest, GetWindowList) {
-  WindowInfo info = CreateTestWindow(kWindowTitle);
-  DesktopCapturer::SourceList window_list;
-  ASSERT_TRUE(GetWindowList(GetWindowListFlags::kNone, &window_list));
-  EXPECT_GT(window_list.size(), 0ULL);
-  EXPECT_NE(std::find_if(window_list.begin(), window_list.end(),
-                         [&info](DesktopCapturer::Source window) {
-                           return reinterpret_cast<HWND>(window.id) ==
-                                  info.hwnd;
-                         }),
-            window_list.end());
-  DestroyTestWindow(info);
-}
-
 TEST(WindowCaptureUtilsTest, IncludeUnresponsiveWindows) {
   std::mutex mtx;
   WindowInfo info;
@@ -107,6 +109,8 @@
   window_thread->Stop();
 }
 
+#pragma clang diagnostic pop
+
 TEST(WindowCaptureUtilsTest, IncludeUntitledWindows) {
   WindowInfo info = CreateTestWindow(L"");
   DesktopCapturer::SourceList window_list;
@@ -148,4 +152,5 @@
   DestroyTestWindow(info);
 }
 
+}  // namespace
 }  // namespace webrtc