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