[libc-commits] [libc] 6e9a51c - [libc][cmake] Make hermetic tests support FLAGS (#212460)
via libc-commits
libc-commits at lists.llvm.org
Thu Jul 30 06:41:26 PDT 2026
Author: Pavel Labath
Date: 2026-07-30T15:41:20+02:00
New Revision: 6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f
URL: https://github.com/llvm/llvm-project/commit/6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f
DIFF: https://github.com/llvm/llvm-project/commit/6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f.diff
LOG: [libc][cmake] Make hermetic tests support FLAGS (#212460)
Currently the tests skip themselves because this gets treated as a
(missing) dependency.
I also enable tests that were explicitly skipped with UNIT_TEST_ONLY.
Some of the FP tests are claiming to be failing on GPUs (in 2023). If
that is still true, I'll skip them with if(TARGET_IS_GPU).
Added:
Modified:
libc/cmake/modules/LLVMLibCTestRules.cmake
libc/test/src/math/CMakeLists.txt
Removed:
################################################################################
diff --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index 53f167e99eeb0..418551f137e44 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -105,8 +105,8 @@ function(_get_common_test_compile_options output_var c_test flags)
set(${output_var} ${compile_options} PARENT_SCOPE)
endfunction()
-function(_get_hermetic_test_compile_options output_var)
- _get_common_test_compile_options(compile_options "" "")
+function(_get_hermetic_test_compile_options output_var flags)
+ _get_common_test_compile_options(compile_options "" "${flags}")
libc_add_definition(compile_options "LIBC_TEST=HERMETIC")
# null check tests are death tests, remove from hermetic tests for now.
@@ -763,7 +763,7 @@ function(add_libc_hermetic test_name)
"HERMETIC_TEST"
"IS_GPU_BENCHMARK;NO_RUN_POSTBUILD" # Optional arguments
"SUITE;CXX_STANDARD" # Single value arguments
- "SRCS;HDRS;DEPENDS;ARGS;ENV;COMPILE_OPTIONS;LINK_LIBRARIES;LOADER_ARGS" # Multi-value arguments
+ "SRCS;HDRS;DEPENDS;ARGS;ENV;COMPILE_OPTIONS;LINK_LIBRARIES;FLAGS;LOADER_ARGS" # Multi-value arguments
${ARGN}
)
@@ -876,7 +876,7 @@ function(add_libc_hermetic test_name)
target_include_directories(${fq_build_target_name} SYSTEM PRIVATE ${LIBC_INCLUDE_DIR})
target_include_directories(${fq_build_target_name} PRIVATE ${LIBC_SOURCE_DIR})
- _get_hermetic_test_compile_options(compile_options "")
+ _get_hermetic_test_compile_options(compile_options "${HERMETIC_TEST_FLAGS}")
target_compile_options(${fq_build_target_name} PRIVATE
${compile_options}
${HERMETIC_TEST_COMPILE_OPTIONS})
diff --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index 240689c0de02f..6fbe43501e017 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -1350,8 +1350,6 @@ add_fp_unittest(
DEPENDS
libc.src.math.copysign
libc.src.__support.FPUtil.fp_bits
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
)
add_fp_unittest(
@@ -1365,8 +1363,6 @@ add_fp_unittest(
DEPENDS
libc.src.math.copysignf
libc.src.__support.FPUtil.fp_bits
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
)
add_fp_unittest(
@@ -1380,8 +1376,6 @@ add_fp_unittest(
DEPENDS
libc.src.math.copysignl
libc.src.__support.FPUtil.fp_bits
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
)
add_fp_unittest(
@@ -1563,8 +1557,6 @@ add_fp_unittest(
libc.src.math.modf
libc.src.__support.FPUtil.basic_operations
libc.src.__support.FPUtil.nearest_integer_operations
- # Requires C++ limits.
- UNIT_TEST_ONLY
)
add_fp_unittest(
@@ -1579,8 +1571,6 @@ add_fp_unittest(
libc.src.math.modff
libc.src.__support.FPUtil.basic_operations
libc.src.__support.FPUtil.nearest_integer_operations
- # Requires C++ limits.
- UNIT_TEST_ONLY
)
add_fp_unittest(
@@ -2298,8 +2288,6 @@ add_fp_unittest(
libc.src.math.fmodf
libc.src.__support.FPUtil.basic_operations
libc.src.__support.FPUtil.nearest_integer_operations
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
)
add_fp_unittest(
@@ -2315,8 +2303,6 @@ add_fp_unittest(
libc.src.math.fmod
libc.src.__support.FPUtil.basic_operations
libc.src.__support.FPUtil.nearest_integer_operations
- # FIXME: Currently fails on the GPU build.
- UNIT_TEST_ONLY
)
add_fp_unittest(
More information about the libc-commits
mailing list