[clang] afd738c - [clang] Shard out some small gtest binaries (#138021)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 30 16:40:25 PDT 2025
Author: Reid Kleckner
Date: 2025-04-30T16:40:21-07:00
New Revision: afd738cd9016ddef4e26b309770ba35fd017a178
URL: https://github.com/llvm/llvm-project/commit/afd738cd9016ddef4e26b309770ba35fd017a178
DIFF: https://github.com/llvm/llvm-project/commit/afd738cd9016ddef4e26b309770ba35fd017a178.diff
LOG: [clang] Shard out some small gtest binaries (#138021)
@nico mentioned that FormatTests and BasicTests are small binaries with
few dependencies, so keeping them separate is nice. I broke them out as
distinct test binaries, and they are still pretty small:
$ find tools/clang/unittests/ -type f -name '*Tests' | xargs du -cksh |
sort -nr
708M total
276M tools/clang/unittests/AllClangUnitTests
244M tools/clang/unittests/Interpreter/ClangReplInterpreterTests
167M
tools/clang/unittests/Interpreter/ExceptionTests/ClangReplInterpreterExceptionTests
13M tools/clang/unittests/Format/FormatTests
6.9M tools/clang/unittests/Basic/BasicTests
1.1M tools/clang/unittests/libclang/CrashTests/libclangCrashTests
I also broke out libclangCrashTests and re-enabled the failing test to
resolve llvm#137855.
Added:
Modified:
clang/unittests/Basic/CMakeLists.txt
clang/unittests/Format/CMakeLists.txt
clang/unittests/libclang/CrashTests/CMakeLists.txt
clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Removed:
################################################################################
diff --git a/clang/unittests/Basic/CMakeLists.txt b/clang/unittests/Basic/CMakeLists.txt
index e818bd3e2c372..b0e0a97168757 100644
--- a/clang/unittests/Basic/CMakeLists.txt
+++ b/clang/unittests/Basic/CMakeLists.txt
@@ -1,4 +1,6 @@
-add_clang_unittest(BasicTests
+# Basic tests have few LLVM and Clang dependencies, so linking it as a
+# distinct target enables faster iteration times at low cost.
+add_distinct_clang_unittest(BasicTests
CharInfoTest.cpp
DarwinSDKInfoTest.cpp
DiagnosticTest.cpp
diff --git a/clang/unittests/Format/CMakeLists.txt b/clang/unittests/Format/CMakeLists.txt
index 0af571a65dafa..edfc8d7a5beaa 100644
--- a/clang/unittests/Format/CMakeLists.txt
+++ b/clang/unittests/Format/CMakeLists.txt
@@ -1,4 +1,6 @@
-add_clang_unittest(FormatTests
+# Format tests have few LLVM and Clang dependencies, so linking it as a
+# distinct target enables faster iteration times at low cost.
+add_distinct_clang_unittest(FormatTests
BracesInserterTest.cpp
BracesRemoverTest.cpp
CleanupTest.cpp
diff --git a/clang/unittests/libclang/CrashTests/CMakeLists.txt b/clang/unittests/libclang/CrashTests/CMakeLists.txt
index de7b5a8f6ee91..df831aa0a1762 100644
--- a/clang/unittests/libclang/CrashTests/CMakeLists.txt
+++ b/clang/unittests/libclang/CrashTests/CMakeLists.txt
@@ -1,4 +1,6 @@
-add_clang_unittest(libclangCrashTests
+# FIXME(#137855): Ideally we'd fold this into AllClangUnitTests, but it fails
+# for unknown reasons. Until that is fixed, link it as a distinct gtest binary.
+add_distinct_clang_unittest(libclangCrashTests
LibclangCrashTest.cpp
LINK_LIBS
libclang
diff --git a/clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp b/clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
index be1f26f5ae53e..26c63cfbd427b 100644
--- a/clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
+++ b/clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
@@ -23,8 +23,7 @@ TEST_F(LibclangParseTest, InstallAbortingLLVMFatalErrorHandler) {
"");
}
-// FIXME: Re-enable after Mac-AArch64 signpost crash issues are debugged.
-TEST_F(LibclangParseTest, DISABLED_UninstallAbortingLLVMFatalErrorHandler) {
+TEST_F(LibclangParseTest, UninstallAbortingLLVMFatalErrorHandler) {
clang_toggleCrashRecovery(0);
clang_install_aborting_llvm_fatal_error_handler();
clang_uninstall_llvm_fatal_error_handler();
More information about the cfe-commits
mailing list