diff --git a/test/src/math/RIntTest.h b/test/src/math/RIntTest.h
index d09dc93..18331ec 100644
--- a/test/src/math/RIntTest.h
+++ b/test/src/math/RIntTest.h
@@ -128,11 +128,11 @@
 };
 
 #define LIST_RINT_TESTS(F, func)                                               \
-  using RIntTest = RIntTestTemplate<F>;                                        \
-  TEST_F(RIntTest, specialNumbers) { testSpecialNumbers(&func); }              \
-  TEST_F(RIntTest, RoundNumbers) { testRoundNumbers(&func); }                  \
-  TEST_F(RIntTest, Fractions) { testFractions(&func); }                        \
-  TEST_F(RIntTest, SubnormalRange) { testSubnormalRange(&func); }              \
-  TEST_F(RIntTest, NormalRange) { testNormalRange(&func); }
+  using LlvmLibcRIntTest = RIntTestTemplate<F>;                                \
+  TEST_F(LlvmLibcRIntTest, specialNumbers) { testSpecialNumbers(&func); }      \
+  TEST_F(LlvmLibcRIntTest, RoundNumbers) { testRoundNumbers(&func); }          \
+  TEST_F(LlvmLibcRIntTest, Fractions) { testFractions(&func); }                \
+  TEST_F(LlvmLibcRIntTest, SubnormalRange) { testSubnormalRange(&func); }      \
+  TEST_F(LlvmLibcRIntTest, NormalRange) { testNormalRange(&func); }
 
 #endif // LLVM_LIBC_TEST_SRC_MATH_RINTTEST_H
diff --git a/test/src/math/RemQuoTest.h b/test/src/math/RemQuoTest.h
index 1e00ee1..f643079 100644
--- a/test/src/math/RemQuoTest.h
+++ b/test/src/math/RemQuoTest.h
@@ -133,12 +133,12 @@
 };
 
 #define LIST_REMQUO_TESTS(T, func)                                             \
-  using RemQuoTest = RemQuoTestTemplate<T>;                                    \
-  TEST_F(RemQuoTest, SpecialNumbers) { testSpecialNumbers(&func); }            \
-  TEST_F(RemQuoTest, EqualNumeratorAndDenominator) {                           \
+  using LlvmLibcRemQuoTest = RemQuoTestTemplate<T>;                            \
+  TEST_F(LlvmLibcRemQuoTest, SpecialNumbers) { testSpecialNumbers(&func); }    \
+  TEST_F(LlvmLibcRemQuoTest, EqualNumeratorAndDenominator) {                   \
     testEqualNumeratorAndDenominator(&func);                                   \
   }                                                                            \
-  TEST_F(RemQuoTest, SubnormalRange) { testSubnormalRange(&func); }            \
-  TEST_F(RemQuoTest, NormalRange) { testNormalRange(&func); }
+  TEST_F(LlvmLibcRemQuoTest, SubnormalRange) { testSubnormalRange(&func); }    \
+  TEST_F(LlvmLibcRemQuoTest, NormalRange) { testNormalRange(&func); }
 
 #endif // LLVM_LIBC_TEST_SRC_MATH_REMQUOTEST_H
diff --git a/test/src/math/RoundToIntegerTest.h b/test/src/math/RoundToIntegerTest.h
index d8711fa..4b28039 100644
--- a/test/src/math/RoundToIntegerTest.h
+++ b/test/src/math/RoundToIntegerTest.h
@@ -304,13 +304,22 @@
 };
 
 #define LIST_ROUND_TO_INTEGER_TESTS_HELPER(F, I, func, TestModes)              \
-  using RoundToIntegerTest = RoundToIntegerTestTemplate<F, I, TestModes>;      \
-  TEST_F(RoundToIntegerTest, InfinityAndNaN) { testInfinityAndNaN(&func); }    \
-  TEST_F(RoundToIntegerTest, RoundNumbers) { testRoundNumbers(&func); }        \
-  TEST_F(RoundToIntegerTest, Fractions) { testFractions(&func); }              \
-  TEST_F(RoundToIntegerTest, IntegerOverflow) { testIntegerOverflow(&func); }  \
-  TEST_F(RoundToIntegerTest, SubnormalRange) { testSubnormalRange(&func); }    \
-  TEST_F(RoundToIntegerTest, NormalRange) { testNormalRange(&func); }
+  using LlvmLibcRoundToIntegerTest =                                           \
+      RoundToIntegerTestTemplate<F, I, TestModes>;                             \
+  TEST_F(LlvmLibcRoundToIntegerTest, InfinityAndNaN) {                         \
+    testInfinityAndNaN(&func);                                                 \
+  }                                                                            \
+  TEST_F(LlvmLibcRoundToIntegerTest, RoundNumbers) {                           \
+    testRoundNumbers(&func);                                                   \
+  }                                                                            \
+  TEST_F(LlvmLibcRoundToIntegerTest, Fractions) { testFractions(&func); }      \
+  TEST_F(LlvmLibcRoundToIntegerTest, IntegerOverflow) {                        \
+    testIntegerOverflow(&func);                                                \
+  }                                                                            \
+  TEST_F(LlvmLibcRoundToIntegerTest, SubnormalRange) {                         \
+    testSubnormalRange(&func);                                                 \
+  }                                                                            \
+  TEST_F(LlvmLibcRoundToIntegerTest, NormalRange) { testNormalRange(&func); }
 
 #define LIST_ROUND_TO_INTEGER_TESTS(F, I, func)                                \
   LIST_ROUND_TO_INTEGER_TESTS_HELPER(F, I, func, false)
diff --git a/test/src/math/fmaf_test.cpp b/test/src/math/fmaf_test.cpp
index 7db666b..f58698c 100644
--- a/test/src/math/fmaf_test.cpp
+++ b/test/src/math/fmaf_test.cpp
@@ -10,7 +10,7 @@
 
 #include "src/math/fmaf.h"
 
-using FmaTest = FmaTestTemplate<float>;
+using LlvmLibcFmaTest = FmaTestTemplate<float>;
 
 TEST_F(LlvmLibcFmaTest, SpecialNumbers) {
   testSpecialNumbers(&__llvm_libc::fmaf);
diff --git a/test/src/math/hypot_test.cpp b/test/src/math/hypot_test.cpp
index e8604cc..928c38a 100644
--- a/test/src/math/hypot_test.cpp
+++ b/test/src/math/hypot_test.cpp
@@ -10,7 +10,7 @@
 
 #include "src/math/hypot.h"
 
-using HypotTest = HypotTestTemplate<double>;
+using LlvmLibcHypotTest = HypotTestTemplate<double>;
 
 TEST_F(LlvmLibcHypotTest, SpecialNumbers) {
   testSpecialNumbers(&__llvm_libc::hypot);
diff --git a/test/src/math/hypotf_test.cpp b/test/src/math/hypotf_test.cpp
index ef4ef68..94f102e 100644
--- a/test/src/math/hypotf_test.cpp
+++ b/test/src/math/hypotf_test.cpp
@@ -10,7 +10,7 @@
 
 #include "src/math/hypotf.h"
 
-using HypotfTest = HypotTestTemplate<float>;
+using LlvmLibcHypotfTest = HypotTestTemplate<float>;
 
 TEST_F(LlvmLibcHypotfTest, SpecialNumbers) {
   testSpecialNumbers(&__llvm_libc::hypotf);
