[libc-commits] [libc] [libc] Add compile tests for each public header (PR #122527)

Roland McGrath via libc-commits libc-commits at lists.llvm.org
Fri Jan 10 13:30:54 PST 2025


================
@@ -483,3 +483,69 @@ add_libc_test(
   DEPENDS
     libc.include.llvm-libc-macros.math_function_macros
 )
+
+# Test `#include <...>` of each header in each available language mode.
+# This is gated on -DLLVM_LIBC_BUILD_HEADER_TESTS=ON until all the bugs
+# in headers are fixed so the tests all compile.
+set(TEST_STDC_VERSIONS 89;99;11;17;23)
+set(TEST_STDCXX_VERSIONS 03;11;14;17;20;23;26)
+
+function(add_header_test target_name source_file deps std_mode)
+  if(LLVM_LIBC_BUILD_HEADER_TESTS)
+    add_libc_test(
+      ${target_name}
+      C_TEST
+      UNIT_TEST_ONLY
----------------
frobtech wrote:

That was a bit of cargo-culting from other cases on my part. I'm not sure why the other header tests in the file are using `UNIT_TEST_ONLY`.  For these new tests, `HERMETIC_TEST_ONLY` seems more appropriate, in fact.  Though frankly I'm not sure how they'll actually differ, since the tests are all trivial and will link and run fine if any smoke test would--but probably all the bugs they'd ever catch would be caught by just compiling without even linking.

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


More information about the libc-commits mailing list