[libc] Make ErrnoSetterMatcher handle logging floating point values.

Along the way, couple of additional things have been done:

1. Move `ErrnoSetterMatcher.h` to `test/UnitTest` as all other matchers live
   there now.
2. `ErrnoSetterMatcher` ignores matching `errno` on GPUs.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D151129

GitOrigin-RevId: 4f1fe19df385445fabde47998affca50c7f1bc1e
diff --git a/cmake/modules/LLVMLibCTestRules.cmake b/cmake/modules/LLVMLibCTestRules.cmake
index 9c94973..9b850b9 100644
--- a/cmake/modules/LLVMLibCTestRules.cmake
+++ b/cmake/modules/LLVMLibCTestRules.cmake
@@ -92,6 +92,9 @@
   endif()
 
   get_fq_deps_list(fq_deps_list ${LIBC_UNITTEST_DEPENDS})
+  list(APPEND fq_deps_list libc.src.__support.StringUtil.error_to_string
+                           libc.test.UnitTest.ErrnoSetterMatcher)
+  list(REMOVE_DUPLICATES fq_deps_list)
   get_object_files_for_test(
       link_object_files skipped_entrypoints_list ${fq_deps_list})
   if(skipped_entrypoints_list)
@@ -628,6 +631,7 @@
       libc.src.string.memcpy
       libc.src.string.memmove
       libc.src.string.memset
+      libc.src.__support.StringUtil.error_to_string
   )
   list(REMOVE_DUPLICATES fq_deps_list)
 
@@ -704,6 +708,7 @@
       $<$<NOT:$<BOOL:${LIBC_GPU_TARGET_ARCHITECTURE_IS_NVPTX}>>:${fq_target_name}.__libc__>)
   add_dependencies(${fq_build_target_name}
                    LibcTest.hermetic
+                   libc.test.UnitTest.ErrnoSetterMatcher
                    ${fq_deps_list})
 
   # Tests on the GPU require an external loader utility to launch the kernel.
diff --git a/include/llvm-libc-macros/generic-error-number-macros.h b/include/llvm-libc-macros/generic-error-number-macros.h
index e652c60..3805c95 100644
--- a/include/llvm-libc-macros/generic-error-number-macros.h
+++ b/include/llvm-libc-macros/generic-error-number-macros.h
@@ -43,5 +43,6 @@
 #define EPIPE 32
 #define EDOM 33
 #define ERANGE 34
+#define EILSEQ 35
 
 #endif // __LLVM_LIBC_MACROS_GENERIC_ERROR_NUMBER_MACROS_H
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 027028d..fbe4ba9 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -13,6 +13,9 @@
   HDRS
     ErrnoSetterMatcher.h
   DEPENDS
+    libc.src.__support.common
+    libc.src.__support.FPUtil.fp_bits
+    libc.src.__support.StringUtil.error_to_string
     libc.src.errno.errno
 )
 
diff --git a/test/ErrnoSetterMatcher.h b/test/ErrnoSetterMatcher.h
deleted file mode 100644
index ff117ae..0000000
--- a/test/ErrnoSetterMatcher.h
+++ /dev/null
@@ -1,75 +0,0 @@
-//===-- ErrnoSetterMatcher.h ------------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
-#define LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
-
-#include "src/errno/libc_errno.h"
-#include "test/UnitTest/Test.h"
-
-#include <string.h>
-
-namespace __llvm_libc {
-namespace testing {
-
-namespace internal {
-
-template <typename T> class ErrnoSetterMatcher : public Matcher<T> {
-  T ExpectedReturn;
-  T ActualReturn;
-  int ExpectedErrno;
-  int ActualErrno;
-
-public:
-  ErrnoSetterMatcher(T ExpectedReturn, int ExpectedErrno)
-      : ExpectedReturn(ExpectedReturn), ExpectedErrno(ExpectedErrno) {}
-
-  void explainError() override {
-    if (ActualReturn != ExpectedReturn)
-      __llvm_libc::testing::tlog
-          << "Expected return to be " << ExpectedReturn << " but got "
-          << ActualReturn << ".\nExpecte errno to be "
-          << strerror(ExpectedErrno) << " but got " << strerror(ActualErrno)
-          << ".\n";
-    else
-      __llvm_libc::testing::tlog
-          << "Correct value " << ExpectedReturn
-          << " was returned\nBut errno was unexpectely set to "
-          << strerror(ActualErrno) << ".\n";
-  }
-
-  bool match(T Got) {
-    ActualReturn = Got;
-    ActualErrno = libc_errno;
-    libc_errno = 0;
-    return Got == ExpectedReturn && ActualErrno == ExpectedErrno;
-  }
-};
-
-} // namespace internal
-
-namespace ErrnoSetterMatcher {
-
-template <typename RetT = int>
-static internal::ErrnoSetterMatcher<RetT> Succeeds(RetT ExpectedReturn = 0,
-                                                   int ExpectedErrno = 0) {
-  return {ExpectedReturn, ExpectedErrno};
-}
-
-template <typename RetT = int>
-static internal::ErrnoSetterMatcher<RetT> Fails(int ExpectedErrno,
-                                                RetT ExpectedReturn = -1) {
-  return {ExpectedReturn, ExpectedErrno};
-}
-
-} // namespace ErrnoSetterMatcher
-
-} // namespace testing
-} // namespace __llvm_libc
-
-#endif // LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
diff --git a/test/UnitTest/CMakeLists.txt b/test/UnitTest/CMakeLists.txt
index 52c7845..014e366 100644
--- a/test/UnitTest/CMakeLists.txt
+++ b/test/UnitTest/CMakeLists.txt
@@ -160,3 +160,9 @@
     libc.src.stdio.scanf_core.core_structs
     libc.test.UnitTest.string_utils
 )
+
+add_header_library(
+  ErrnoSetterMatcher
+  HDRS
+    ErrnoSetterMatcher
+)
diff --git a/test/UnitTest/ErrnoSetterMatcher.h b/test/UnitTest/ErrnoSetterMatcher.h
new file mode 100644
index 0000000..370e811
--- /dev/null
+++ b/test/UnitTest/ErrnoSetterMatcher.h
@@ -0,0 +1,101 @@
+//===-- ErrnoSetterMatcher.h ------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
+#define LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
+
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/StringUtil/error_to_string.h"
+#include "src/__support/macros/properties/architectures.h"
+#include "src/errno/libc_errno.h"
+#include "test/UnitTest/Test.h"
+
+namespace __llvm_libc {
+namespace testing {
+
+namespace internal {
+
+template <typename T> class ErrnoSetterMatcher : public Matcher<T> {
+  T ExpectedReturn;
+  T ActualReturn;
+  int ExpectedErrno;
+  int ActualErrno;
+
+  // Even though this is a errno matcher primarily, it has to cater to platforms
+  // which do not have an errno. This predicate checks if errno matching is to
+  // be skipped.
+  static constexpr bool ignore_errno() {
+#ifdef LIBC_TARGET_ARCH_IS_GPU
+    return true;
+#else
+    return false;
+#endif
+  }
+
+public:
+  ErrnoSetterMatcher(T ExpectedReturn, int ExpectedErrno)
+      : ExpectedReturn(ExpectedReturn), ExpectedErrno(ExpectedErrno) {}
+
+  void explainError() override {
+    if (ActualReturn != ExpectedReturn) {
+      if constexpr (cpp::is_floating_point_v<T>) {
+        __llvm_libc::testing::tlog
+            << "Expected return value to be: "
+            << __llvm_libc::fputil::FPBits<T>(ExpectedReturn).str() << '\n';
+        __llvm_libc::testing::tlog
+            << "                    But got: "
+            << __llvm_libc::fputil::FPBits<T>(ActualReturn).str() << '\n';
+      } else {
+        __llvm_libc::testing::tlog << "Expected return value to be "
+                                   << ExpectedReturn << " but got "
+                                   << ActualReturn << ".\n";
+      }
+    }
+
+    if constexpr (!ignore_errno()) {
+      if (ActualErrno != ExpectedErrno) {
+        __llvm_libc::testing::tlog
+            << "Expected errno to be \"" << get_error_string(ExpectedErrno)
+            << "\" but got \"" << get_error_string(ActualErrno) << "\".\n";
+      }
+    }
+  }
+
+  bool match(T Got) {
+    ActualReturn = Got;
+    ActualErrno = libc_errno;
+    libc_errno = 0;
+    if constexpr (ignore_errno())
+      return Got == ExpectedReturn;
+    else
+      return Got == ExpectedReturn && ActualErrno == ExpectedErrno;
+  }
+};
+
+} // namespace internal
+
+namespace ErrnoSetterMatcher {
+
+template <typename RetT = int>
+static internal::ErrnoSetterMatcher<RetT> Succeeds(RetT ExpectedReturn = 0,
+                                                   int ExpectedErrno = 0) {
+  return {ExpectedReturn, ExpectedErrno};
+}
+
+template <typename RetT = int>
+static internal::ErrnoSetterMatcher<RetT> Fails(int ExpectedErrno,
+                                                RetT ExpectedReturn = -1) {
+  return {ExpectedReturn, ExpectedErrno};
+}
+
+} // namespace ErrnoSetterMatcher
+
+} // namespace testing
+} // namespace __llvm_libc
+
+#endif // LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
diff --git a/test/src/fcntl/creat_test.cpp b/test/src/fcntl/creat_test.cpp
index 8a2dd19..1b0e8cb 100644
--- a/test/src/fcntl/creat_test.cpp
+++ b/test/src/fcntl/creat_test.cpp
@@ -10,7 +10,7 @@
 #include "src/fcntl/creat.h"
 #include "src/fcntl/open.h"
 #include "src/unistd/close.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcCreatTest, CreatAndOpen) {
diff --git a/test/src/fcntl/openat_test.cpp b/test/src/fcntl/openat_test.cpp
index 17626e6..73cce41 100644
--- a/test/src/fcntl/openat_test.cpp
+++ b/test/src/fcntl/openat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/fcntl/openat.h"
 #include "src/unistd/close.h"
 #include "src/unistd/read.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sched/affinity_test.cpp b/test/src/sched/affinity_test.cpp
index b8da2eb..a036647 100644
--- a/test/src/sched/affinity_test.cpp
+++ b/test/src/sched/affinity_test.cpp
@@ -10,7 +10,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/sched/sched_getaffinity.h"
 #include "src/sched/sched_setaffinity.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 
 #include <sched.h>
 #include <sys/syscall.h>
diff --git a/test/src/sched/cpu_count_test.cpp b/test/src/sched/cpu_count_test.cpp
index e4ad42a..92170bf 100644
--- a/test/src/sched/cpu_count_test.cpp
+++ b/test/src/sched/cpu_count_test.cpp
@@ -10,7 +10,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/sched/sched_getaffinity.h"
 #include "src/sched/sched_getcpucount.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 
 #include <sched.h>
 #include <sys/syscall.h>
diff --git a/test/src/signal/kill_test.cpp b/test/src/signal/kill_test.cpp
index 9d04b3a..9c53f8e 100644
--- a/test/src/signal/kill_test.cpp
+++ b/test/src/signal/kill_test.cpp
@@ -10,7 +10,7 @@
 
 #include "include/sys/syscall.h"          // For syscall numbers.
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <signal.h>
diff --git a/test/src/signal/sigaction_test.cpp b/test/src/signal/sigaction_test.cpp
index f8f2940..36160f9 100644
--- a/test/src/signal/sigaction_test.cpp
+++ b/test/src/signal/sigaction_test.cpp
@@ -9,7 +9,7 @@
 #include "src/signal/raise.h"
 #include "src/signal/sigaction.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/signal/sigaddset_test.cpp b/test/src/signal/sigaddset_test.cpp
index 9ff3310..ea5c8c1 100644
--- a/test/src/signal/sigaddset_test.cpp
+++ b/test/src/signal/sigaddset_test.cpp
@@ -9,7 +9,7 @@
 #include "include/signal.h"
 #include "src/signal/sigaddset.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/signal/sigaltstack_test.cpp b/test/src/signal/sigaltstack_test.cpp
index 7c92279..e52b3db 100644
--- a/test/src/signal/sigaltstack_test.cpp
+++ b/test/src/signal/sigaltstack_test.cpp
@@ -13,7 +13,7 @@
 #include "src/signal/sigaction.h"
 #include "src/signal/sigaltstack.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <signal.h>
diff --git a/test/src/signal/sigdelset_test.cpp b/test/src/signal/sigdelset_test.cpp
index 8cb477f..dfaa84d 100644
--- a/test/src/signal/sigdelset_test.cpp
+++ b/test/src/signal/sigdelset_test.cpp
@@ -12,7 +12,7 @@
 #include "src/signal/sigfillset.h"
 #include "src/signal/sigprocmask.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/signal/sigfillset_test.cpp b/test/src/signal/sigfillset_test.cpp
index 9afc002..6b0e172 100644
--- a/test/src/signal/sigfillset_test.cpp
+++ b/test/src/signal/sigfillset_test.cpp
@@ -11,7 +11,7 @@
 #include "src/signal/sigfillset.h"
 #include "src/signal/sigprocmask.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/signal/signal_test.cpp b/test/src/signal/signal_test.cpp
index fdf0934..9635e27 100644
--- a/test/src/signal/signal_test.cpp
+++ b/test/src/signal/signal_test.cpp
@@ -11,7 +11,7 @@
 #include "src/signal/raise.h"
 #include "src/signal/signal.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 using __llvm_libc::testing::ErrnoSetterMatcher::Fails;
diff --git a/test/src/signal/sigprocmask_test.cpp b/test/src/signal/sigprocmask_test.cpp
index a36364e..488f1c5 100644
--- a/test/src/signal/sigprocmask_test.cpp
+++ b/test/src/signal/sigprocmask_test.cpp
@@ -13,7 +13,7 @@
 #include "src/signal/sigemptyset.h"
 #include "src/signal/sigprocmask.h"
 
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 class LlvmLibcSignalTest : public __llvm_libc::testing::Test {
diff --git a/test/src/stdio/remove_test.cpp b/test/src/stdio/remove_test.cpp
index 3dc0568..dab1c80 100644
--- a/test/src/stdio/remove_test.cpp
+++ b/test/src/stdio/remove_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/mkdirat.h"
 #include "src/unistd/access.h"
 #include "src/unistd/close.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include "src/errno/libc_errno.h"
diff --git a/test/src/stdlib/CMakeLists.txt b/test/src/stdlib/CMakeLists.txt
index 01d3257..ad849af 100644
--- a/test/src/stdlib/CMakeLists.txt
+++ b/test/src/stdlib/CMakeLists.txt
@@ -9,6 +9,7 @@
   DEPENDS
     libc.src.errno.errno
     libc.src.stdlib.atof
+    libc.test.errno_setter_matcher
 )
 
 add_header_library(
diff --git a/test/src/stdlib/atof_test.cpp b/test/src/stdlib/atof_test.cpp
index 92d28b3..efa9f6c 100644
--- a/test/src/stdlib/atof_test.cpp
+++ b/test/src/stdlib/atof_test.cpp
@@ -10,11 +10,14 @@
 #include "src/errno/libc_errno.h"
 #include "src/stdlib/atof.h"
 
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <limits.h>
 #include <stddef.h>
 
+using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds;
+
 // This is just a simple test to make sure that this function works at all. It's
 // functionally identical to strtod so the bulk of the testing is there.
 TEST(LlvmLibcAToFTest, SimpleTest) {
@@ -22,31 +25,12 @@
       __llvm_libc::fputil::FPBits<double>(uint64_t(0x405ec00000000000));
 
   libc_errno = 0;
-  double result = __llvm_libc::atof("123");
-
-  __llvm_libc::fputil::FPBits<double> actual_fp =
-      __llvm_libc::fputil::FPBits<double>(result);
-
-  EXPECT_EQ(actual_fp.bits, expected_fp.bits);
-  EXPECT_EQ(actual_fp.get_sign(), expected_fp.get_sign());
-  EXPECT_EQ(actual_fp.get_exponent(), expected_fp.get_exponent());
-  EXPECT_EQ(actual_fp.get_mantissa(), expected_fp.get_mantissa());
-  EXPECT_EQ(libc_errno, 0);
+  EXPECT_THAT(__llvm_libc::atof("123"),
+              Succeeds<double>(static_cast<double>(expected_fp)));
 }
 
 TEST(LlvmLibcAToFTest, FailedParsingTest) {
-  __llvm_libc::fputil::FPBits<double> expected_fp =
-      __llvm_libc::fputil::FPBits<double>(uint64_t(0));
-
   libc_errno = 0;
-  double result = __llvm_libc::atof("???");
-
-  __llvm_libc::fputil::FPBits<double> actual_fp =
-      __llvm_libc::fputil::FPBits<double>(result);
-
-  EXPECT_EQ(actual_fp.bits, expected_fp.bits);
-  EXPECT_EQ(actual_fp.get_sign(), expected_fp.get_sign());
-  EXPECT_EQ(actual_fp.get_exponent(), expected_fp.get_exponent());
-  EXPECT_EQ(actual_fp.get_mantissa(), expected_fp.get_mantissa());
-  EXPECT_EQ(libc_errno, 0);
+  // atof does not flag errors.
+  EXPECT_THAT(__llvm_libc::atof("???"), Succeeds<double>(0.0));
 }
diff --git a/test/src/stdlib/strtod_test.cpp b/test/src/stdlib/strtod_test.cpp
index b2e73ba..b775c24 100644
--- a/test/src/stdlib/strtod_test.cpp
+++ b/test/src/stdlib/strtod_test.cpp
@@ -10,7 +10,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/stdlib/strtod.h"
 
-#include "test/UnitTest/FPMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/RoundingModeUtils.h"
 #include "test/UnitTest/Test.h"
 
@@ -20,6 +20,9 @@
 using __llvm_libc::fputil::testing::ForceRoundingModeTest;
 using __llvm_libc::fputil::testing::RoundingMode;
 
+using __llvm_libc::testing::ErrnoSetterMatcher::Fails;
+using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds;
+
 class LlvmLibcStrToDTest : public __llvm_libc::testing::Test,
                            ForceRoundingModeTest<RoundingMode::Nearest> {
 public:
@@ -46,10 +49,12 @@
 
     libc_errno = 0;
     double result = __llvm_libc::strtod(inputString, &str_end);
-
+    if (expectedErrno == 0)
+      EXPECT_THAT(result, Succeeds<double>(static_cast<double>(expected_fp)));
+    else
+      EXPECT_THAT(result, Fails<double>(expectedErrno,
+                                        static_cast<double>(expected_fp)));
     EXPECT_EQ(str_end - inputString, expectedStrLen);
-    EXPECT_FP_EQ(result, static_cast<double>(expected_fp));
-    EXPECT_EQ(libc_errno, expectedErrno);
   }
 };
 
diff --git a/test/src/sys/mman/linux/madvise_test.cpp b/test/src/sys/mman/linux/madvise_test.cpp
index dcc6c25..4fdb4a2 100644
--- a/test/src/sys/mman/linux/madvise_test.cpp
+++ b/test/src/sys/mman/linux/madvise_test.cpp
@@ -10,7 +10,7 @@
 #include "src/sys/mman/madvise.h"
 #include "src/sys/mman/mmap.h"
 #include "src/sys/mman/munmap.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <sys/mman.h>
diff --git a/test/src/sys/mman/linux/mmap_test.cpp b/test/src/sys/mman/linux/mmap_test.cpp
index 015dad8..d74701c 100644
--- a/test/src/sys/mman/linux/mmap_test.cpp
+++ b/test/src/sys/mman/linux/mmap_test.cpp
@@ -9,7 +9,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/sys/mman/mmap.h"
 #include "src/sys/mman/munmap.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <sys/mman.h>
diff --git a/test/src/sys/mman/linux/mprotect_test.cpp b/test/src/sys/mman/linux/mprotect_test.cpp
index ea35614..5f2f5f2 100644
--- a/test/src/sys/mman/linux/mprotect_test.cpp
+++ b/test/src/sys/mman/linux/mprotect_test.cpp
@@ -10,7 +10,7 @@
 #include "src/sys/mman/mmap.h"
 #include "src/sys/mman/mprotect.h"
 #include "src/sys/mman/munmap.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <signal.h>
diff --git a/test/src/sys/mman/linux/posix_madvise_test.cpp b/test/src/sys/mman/linux/posix_madvise_test.cpp
index cd1dbc0..b271a71 100644
--- a/test/src/sys/mman/linux/posix_madvise_test.cpp
+++ b/test/src/sys/mman/linux/posix_madvise_test.cpp
@@ -10,7 +10,7 @@
 #include "src/sys/mman/mmap.h"
 #include "src/sys/mman/munmap.h"
 #include "src/sys/mman/posix_madvise.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <sys/mman.h>
diff --git a/test/src/sys/random/linux/getrandom_test.cpp b/test/src/sys/random/linux/getrandom_test.cpp
index 1d26ee9..839297b 100644
--- a/test/src/sys/random/linux/getrandom_test.cpp
+++ b/test/src/sys/random/linux/getrandom_test.cpp
@@ -10,7 +10,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/math/fabs.h"
 #include "src/sys/random/getrandom.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcGetRandomTest, InvalidFlag) {
diff --git a/test/src/sys/resource/getrlimit_setrlimit_test.cpp b/test/src/sys/resource/getrlimit_setrlimit_test.cpp
index aa7a549..b385cf8 100644
--- a/test/src/sys/resource/getrlimit_setrlimit_test.cpp
+++ b/test/src/sys/resource/getrlimit_setrlimit_test.cpp
@@ -13,7 +13,7 @@
 #include "src/sys/resource/setrlimit.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <sys/resource.h>
diff --git a/test/src/sys/select/select_failure_test.cpp b/test/src/sys/select/select_failure_test.cpp
index 242e93c..44d5b2e 100644
--- a/test/src/sys/select/select_failure_test.cpp
+++ b/test/src/sys/select/select_failure_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/sys/select/select.h"
 #include "src/unistd/read.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/sys/sendfile/sendfile_test.cpp b/test/src/sys/sendfile/sendfile_test.cpp
index e3ed299..9af01ad 100644
--- a/test/src/sys/sendfile/sendfile_test.cpp
+++ b/test/src/sys/sendfile/sendfile_test.cpp
@@ -14,7 +14,7 @@
 #include "src/unistd/read.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/chmod_test.cpp b/test/src/sys/stat/chmod_test.cpp
index 55e68bc..f12d20d 100644
--- a/test/src/sys/stat/chmod_test.cpp
+++ b/test/src/sys/stat/chmod_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/chmod.h"
 #include "src/unistd/close.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/fchmod_test.cpp b/test/src/sys/stat/fchmod_test.cpp
index 9dc033f..0a6c9f4 100644
--- a/test/src/sys/stat/fchmod_test.cpp
+++ b/test/src/sys/stat/fchmod_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/fchmod.h"
 #include "src/unistd/close.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/fchmodat_test.cpp b/test/src/sys/stat/fchmodat_test.cpp
index 68a3ef3..578d0b0 100644
--- a/test/src/sys/stat/fchmodat_test.cpp
+++ b/test/src/sys/stat/fchmodat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/fchmodat.h"
 #include "src/unistd/close.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/fstat_test.cpp b/test/src/sys/stat/fstat_test.cpp
index 6105046..8220181 100644
--- a/test/src/sys/stat/fstat_test.cpp
+++ b/test/src/sys/stat/fstat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/fstat.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/lstat_test.cpp b/test/src/sys/stat/lstat_test.cpp
index ae8ea60..a3edae1 100644
--- a/test/src/sys/stat/lstat_test.cpp
+++ b/test/src/sys/stat/lstat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/lstat.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/mkdirat_test.cpp b/test/src/sys/stat/mkdirat_test.cpp
index 30fbd97..584f6eb 100644
--- a/test/src/sys/stat/mkdirat_test.cpp
+++ b/test/src/sys/stat/mkdirat_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/sys/stat/mkdirat.h"
 #include "src/unistd/rmdir.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/stat/stat_test.cpp b/test/src/sys/stat/stat_test.cpp
index 97cb559..dd9bb1c 100644
--- a/test/src/sys/stat/stat_test.cpp
+++ b/test/src/sys/stat/stat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/stat/stat.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/sys/utsname/uname_test.cpp b/test/src/sys/utsname/uname_test.cpp
index 8f1c1c9..58d7db7 100644
--- a/test/src/sys/utsname/uname_test.cpp
+++ b/test/src/sys/utsname/uname_test.cpp
@@ -9,7 +9,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/sys/utsname/uname.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/sys/wait/wait4_test.cpp b/test/src/sys/wait/wait4_test.cpp
index 7464ee0..a7ea9ee 100644
--- a/test/src/sys/wait/wait4_test.cpp
+++ b/test/src/sys/wait/wait4_test.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/sys/wait/wait4.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/sys/wait/waitpid_test.cpp b/test/src/sys/wait/waitpid_test.cpp
index 136946c..64441e7 100644
--- a/test/src/sys/wait/waitpid_test.cpp
+++ b/test/src/sys/wait/waitpid_test.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/sys/wait/waitpid.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <errno.h>
diff --git a/test/src/termios/termios_test.cpp b/test/src/termios/termios_test.cpp
index 7c2d219..01a78c2 100644
--- a/test/src/termios/termios_test.cpp
+++ b/test/src/termios/termios_test.cpp
@@ -16,7 +16,7 @@
 #include "src/termios/tcgetsid.h"
 #include "src/termios/tcsetattr.h"
 #include "src/unistd/close.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <termios.h>
diff --git a/test/src/time/difftime_test.cpp b/test/src/time/difftime_test.cpp
index f099d58..dc22494 100644
--- a/test/src/time/difftime_test.cpp
+++ b/test/src/time/difftime_test.cpp
@@ -9,7 +9,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/time/difftime.h"
 #include "src/time/time_utils.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds;
diff --git a/test/src/time/gettimeofday_test.cpp b/test/src/time/gettimeofday_test.cpp
index f6a021b..5edd61c 100644
--- a/test/src/time/gettimeofday_test.cpp
+++ b/test/src/time/gettimeofday_test.cpp
@@ -10,7 +10,7 @@
 
 #include "src/time/gettimeofday.h"
 #include "src/time/nanosleep.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 namespace cpp = __llvm_libc::cpp;
diff --git a/test/src/time/gmtime_test.cpp b/test/src/time/gmtime_test.cpp
index 12bc16d..07e3950 100644
--- a/test/src/time/gmtime_test.cpp
+++ b/test/src/time/gmtime_test.cpp
@@ -9,7 +9,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/time/gmtime.h"
 #include "src/time/time_utils.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 #include "test/src/time/TmMatcher.h"
 
diff --git a/test/src/time/mktime_test.cpp b/test/src/time/mktime_test.cpp
index 03b0d50..21910cf 100644
--- a/test/src/time/mktime_test.cpp
+++ b/test/src/time/mktime_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/time/mktime.h"
 #include "src/time/time_utils.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 #include "test/src/time/TmHelper.h"
 #include "test/src/time/TmMatcher.h"
diff --git a/test/src/time/nanosleep_test.cpp b/test/src/time/nanosleep_test.cpp
index b66a7e8..e89d4fd 100644
--- a/test/src/time/nanosleep_test.cpp
+++ b/test/src/time/nanosleep_test.cpp
@@ -10,7 +10,7 @@
 
 #include "src/errno/libc_errno.h"
 #include "src/time/nanosleep.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 namespace cpp = __llvm_libc::cpp;
diff --git a/test/src/unistd/access_test.cpp b/test/src/unistd/access_test.cpp
index 24e4943..f0fa9de 100644
--- a/test/src/unistd/access_test.cpp
+++ b/test/src/unistd/access_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/access.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <unistd.h>
diff --git a/test/src/unistd/chdir_test.cpp b/test/src/unistd/chdir_test.cpp
index de64f6e..a19fb29 100644
--- a/test/src/unistd/chdir_test.cpp
+++ b/test/src/unistd/chdir_test.cpp
@@ -10,7 +10,7 @@
 #include "src/fcntl/open.h"
 #include "src/unistd/chdir.h"
 #include "src/unistd/close.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/unistd/dup2_test.cpp b/test/src/unistd/dup2_test.cpp
index 1a5ff0f..bde5b96 100644
--- a/test/src/unistd/dup2_test.cpp
+++ b/test/src/unistd/dup2_test.cpp
@@ -13,7 +13,7 @@
 #include "src/unistd/read.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcdupTest, ReadAndWriteViaDup) {
diff --git a/test/src/unistd/dup3_test.cpp b/test/src/unistd/dup3_test.cpp
index 75825bc..11a540c 100644
--- a/test/src/unistd/dup3_test.cpp
+++ b/test/src/unistd/dup3_test.cpp
@@ -13,7 +13,7 @@
 #include "src/unistd/read.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 // The tests here are exactly the same as those of dup2. We only test the
diff --git a/test/src/unistd/dup_test.cpp b/test/src/unistd/dup_test.cpp
index 5d8c9b9..9a0f805 100644
--- a/test/src/unistd/dup_test.cpp
+++ b/test/src/unistd/dup_test.cpp
@@ -13,7 +13,7 @@
 #include "src/unistd/read.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcdupTest, ReadAndWriteViaDup) {
diff --git a/test/src/unistd/fchdir_test.cpp b/test/src/unistd/fchdir_test.cpp
index f004af9..3e04acd 100644
--- a/test/src/unistd/fchdir_test.cpp
+++ b/test/src/unistd/fchdir_test.cpp
@@ -10,7 +10,7 @@
 #include "src/fcntl/open.h"
 #include "src/unistd/close.h"
 #include "src/unistd/fchdir.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/unistd/ftruncate_test.cpp b/test/src/unistd/ftruncate_test.cpp
index 0814ef3..217ab95 100644
--- a/test/src/unistd/ftruncate_test.cpp
+++ b/test/src/unistd/ftruncate_test.cpp
@@ -14,7 +14,7 @@
 #include "src/unistd/read.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 namespace cpp = __llvm_libc::cpp;
diff --git a/test/src/unistd/isatty_test.cpp b/test/src/unistd/isatty_test.cpp
index c910e36..538101d 100644
--- a/test/src/unistd/isatty_test.cpp
+++ b/test/src/unistd/isatty_test.cpp
@@ -10,7 +10,7 @@
 #include "src/fcntl/open.h"
 #include "src/unistd/close.h"
 #include "src/unistd/isatty.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 using __llvm_libc::testing::ErrnoSetterMatcher::Fails;
diff --git a/test/src/unistd/link_test.cpp b/test/src/unistd/link_test.cpp
index ef98559..7acb9dc 100644
--- a/test/src/unistd/link_test.cpp
+++ b/test/src/unistd/link_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/close.h"
 #include "src/unistd/link.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcLinkTest, CreateAndUnlink) {
diff --git a/test/src/unistd/linkat_test.cpp b/test/src/unistd/linkat_test.cpp
index e61c7c1..dcb6bff 100644
--- a/test/src/unistd/linkat_test.cpp
+++ b/test/src/unistd/linkat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/close.h"
 #include "src/unistd/linkat.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcLinkatTest, CreateAndUnlink) {
diff --git a/test/src/unistd/lseek_test.cpp b/test/src/unistd/lseek_test.cpp
index 07cd895..cb04db4 100644
--- a/test/src/unistd/lseek_test.cpp
+++ b/test/src/unistd/lseek_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/close.h"
 #include "src/unistd/lseek.h"
 #include "src/unistd/read.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <unistd.h>
diff --git a/test/src/unistd/pread_pwrite_test.cpp b/test/src/unistd/pread_pwrite_test.cpp
index 9da4cf9..4d0158a 100644
--- a/test/src/unistd/pread_pwrite_test.cpp
+++ b/test/src/unistd/pread_pwrite_test.cpp
@@ -14,7 +14,7 @@
 #include "src/unistd/pwrite.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcUniStd, PWriteAndPReadBackTest) {
diff --git a/test/src/unistd/read_write_test.cpp b/test/src/unistd/read_write_test.cpp
index 6e6887f..ed819a9 100644
--- a/test/src/unistd/read_write_test.cpp
+++ b/test/src/unistd/read_write_test.cpp
@@ -12,7 +12,7 @@
 #include "src/unistd/fsync.h"
 #include "src/unistd/read.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcUniStd, WriteAndReadBackTest) {
diff --git a/test/src/unistd/readlink_test.cpp b/test/src/unistd/readlink_test.cpp
index ab9223f..dbb957f 100644
--- a/test/src/unistd/readlink_test.cpp
+++ b/test/src/unistd/readlink_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/readlink.h"
 #include "src/unistd/symlink.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 namespace cpp = __llvm_libc::cpp;
diff --git a/test/src/unistd/readlinkat_test.cpp b/test/src/unistd/readlinkat_test.cpp
index eb23f2e..39127c0 100644
--- a/test/src/unistd/readlinkat_test.cpp
+++ b/test/src/unistd/readlinkat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/readlinkat.h"
 #include "src/unistd/symlink.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/unistd/rmdir_test.cpp b/test/src/unistd/rmdir_test.cpp
index 55e2c26..3fcf328 100644
--- a/test/src/unistd/rmdir_test.cpp
+++ b/test/src/unistd/rmdir_test.cpp
@@ -9,7 +9,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/sys/stat/mkdir.h"
 #include "src/unistd/rmdir.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/unistd/symlink_test.cpp b/test/src/unistd/symlink_test.cpp
index 44821e7..7017d4b 100644
--- a/test/src/unistd/symlink_test.cpp
+++ b/test/src/unistd/symlink_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/close.h"
 #include "src/unistd/symlink.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcSymlinkTest, CreateAndUnlink) {
diff --git a/test/src/unistd/symlinkat_test.cpp b/test/src/unistd/symlinkat_test.cpp
index 847bbbf..e629c14 100644
--- a/test/src/unistd/symlinkat_test.cpp
+++ b/test/src/unistd/symlinkat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/unistd/close.h"
 #include "src/unistd/symlinkat.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcSymlinkatTest, CreateAndUnlink) {
diff --git a/test/src/unistd/syscall_test.cpp b/test/src/unistd/syscall_test.cpp
index 5086996..03b9a54 100644
--- a/test/src/unistd/syscall_test.cpp
+++ b/test/src/unistd/syscall_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/errno/libc_errno.h"
 #include "src/unistd/syscall.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 #include <fcntl.h>
diff --git a/test/src/unistd/truncate_test.cpp b/test/src/unistd/truncate_test.cpp
index 85047d2..4885a12 100644
--- a/test/src/unistd/truncate_test.cpp
+++ b/test/src/unistd/truncate_test.cpp
@@ -14,7 +14,7 @@
 #include "src/unistd/truncate.h"
 #include "src/unistd/unlink.h"
 #include "src/unistd/write.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 namespace cpp = __llvm_libc::cpp;
diff --git a/test/src/unistd/unlink_test.cpp b/test/src/unistd/unlink_test.cpp
index 515378f..ff55123 100644
--- a/test/src/unistd/unlink_test.cpp
+++ b/test/src/unistd/unlink_test.cpp
@@ -10,7 +10,7 @@
 #include "src/fcntl/open.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlink.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcUnlinkTest, CreateAndUnlink) {
diff --git a/test/src/unistd/unlinkat_test.cpp b/test/src/unistd/unlinkat_test.cpp
index 24c14bf..ecb9d3a 100644
--- a/test/src/unistd/unlinkat_test.cpp
+++ b/test/src/unistd/unlinkat_test.cpp
@@ -11,7 +11,7 @@
 #include "src/fcntl/openat.h"
 #include "src/unistd/close.h"
 #include "src/unistd/unlinkat.h"
-#include "test/ErrnoSetterMatcher.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcUnlinkatTest, CreateAndDeleteTest) {