[clang] [clang] Fix DirectoryWatcher test to check for platform headers (PR #187983)
Jim Lin via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 23 00:21:17 PDT 2026
https://github.com/tclin914 created https://github.com/llvm/llvm-project/pull/187983
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.
>From 832aab6b9f3ca8754dc195bf646cf20bb68844d8 Mon Sep 17 00:00:00 2001
From: Jim Lin <jim at andestech.com>
Date: Mon, 23 Mar 2026 15:12:02 +0800
Subject: [PATCH] [clang] Fix DirectoryWatcher test to check for platform
headers
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.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
---
clang/unittests/DirectoryWatcher/CMakeLists.txt | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
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
More information about the cfe-commits
mailing list