[clang] [clang] Fix DirectoryWatcher test to check for platform headers (PR #187983)

via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 23 00:21:50 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Jim Lin (tclin914)

<details>
<summary>Changes</summary>

The unit test was guarded only by platform checks (Apple/Linux/Windows) but the library itself additionally requires CoreServices.h on macOS and sys/inotify.h on Linux. Without these header checks, the test could be built against a non-functional DirectoryWatcher backend.

Align the test's build conditions with the library's header availability checks in clang/lib/DirectoryWatcher/CMakeLists.txt.

---
Full diff: https://github.com/llvm/llvm-project/pull/187983.diff


1 Files Affected:

- (modified) clang/unittests/DirectoryWatcher/CMakeLists.txt (+12-1) 


``````````diff
diff --git a/clang/unittests/DirectoryWatcher/CMakeLists.txt b/clang/unittests/DirectoryWatcher/CMakeLists.txt
index 28fc6cb21010c..67ce83a548e7c 100644
--- a/clang/unittests/DirectoryWatcher/CMakeLists.txt
+++ b/clang/unittests/DirectoryWatcher/CMakeLists.txt
@@ -1,4 +1,15 @@
-if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME STREQUAL Windows)
+include(CheckIncludeFiles)
+
+if(APPLE)
+  check_include_files("CoreServices/CoreServices.h" HAVE_CORESERVICES)
+endif()
+if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+  check_include_files("sys/inotify.h" HAVE_INOTIFY)
+endif()
+
+if((APPLE AND HAVE_CORESERVICES) OR
+   (CMAKE_SYSTEM_NAME MATCHES "Linux" AND HAVE_INOTIFY) OR
+   CMAKE_SYSTEM_NAME MATCHES "Windows")
 
   add_clang_unittest(DirectoryWatcherTests
     DirectoryWatcherTest.cpp

``````````

</details>


https://github.com/llvm/llvm-project/pull/187983


More information about the cfe-commits mailing list