diff options
author | Siva Chandra Reddy <sivachandra@google.com> | 2020-07-28 10:57:00 -0700 |
---|---|---|
committer | Siva Chandra Reddy <sivachandra@google.com> | 2020-07-28 11:05:52 -0700 |
commit | acca2980a33e182dd6f4c71554ff2130f260463e (patch) | |
tree | 8b3ec0f237f396331f07857fb271c70a888fd354 /libc/utils | |
parent | a5b89c285329dbf160d501bf81fcc3765fde219d (diff) | |
download | llvm-acca2980a33e182dd6f4c71554ff2130f260463e.zip llvm-acca2980a33e182dd6f4c71554ff2130f260463e.tar.gz llvm-acca2980a33e182dd6f4c71554ff2130f260463e.tar.bz2 |
[libc][obvious] Move ErrnoSetterMatcher to test/ErrnoSetterMetcher.h.
Diffstat (limited to 'libc/utils')
-rw-r--r-- | libc/utils/UnitTest/CMakeLists.txt | 1 | ||||
-rw-r--r-- | libc/utils/UnitTest/ErrnoSetterMatcher.h | 76 |
2 files changed, 0 insertions, 77 deletions
diff --git a/libc/utils/UnitTest/CMakeLists.txt b/libc/utils/UnitTest/CMakeLists.txt index 0837f3d..9c7b48a 100644 --- a/libc/utils/UnitTest/CMakeLists.txt +++ b/libc/utils/UnitTest/CMakeLists.txt @@ -2,7 +2,6 @@ add_llvm_library( LibcUnitTest Test.cpp Test.h - ErrnoSetterMatcher.h LINK_COMPONENTS Support ) target_include_directories(LibcUnitTest PUBLIC ${LIBC_SOURCE_DIR}) diff --git a/libc/utils/UnitTest/ErrnoSetterMatcher.h b/libc/utils/UnitTest/ErrnoSetterMatcher.h deleted file mode 100644 index d676ee9..0000000 --- a/libc/utils/UnitTest/ErrnoSetterMatcher.h +++ /dev/null @@ -1,76 +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_UTILS_UNITTEST_ERRNOSETTERMATCHER_H -#define LLVM_LIBC_UTILS_UNITTEST_ERRNOSETTERMATCHER_H - -#include "Test.h" - -// Using LLVM libc headers in UnitTest is not ideal however we also want the -// test/ directory to have the same layout as libc/ so there is no clean place -// to put this file except for in utils/UnitTest/. -#include "src/errno/llvmlibc_errno.h" - -namespace __llvm_libc { -namespace testing { - -namespace internal { - -extern "C" const char *strerror(int); - -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(testutils::StreamWrapper &OS) override { - if (ActualReturn != ExpectedReturn) - OS << "Expected return to be " << ExpectedReturn << " but got " - << ActualReturn << ".\nExpecte errno to be " << strerror(ExpectedErrno) - << " but got " << strerror(ActualErrno) << ".\n"; - else - OS << "Correct value " << ExpectedReturn - << " was returned\nBut errno was unexpectely set to " - << strerror(ActualErrno) << ".\n"; - } - - bool match(T Got) { - ActualReturn = Got; - ActualErrno = llvmlibc_errno; - llvmlibc_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_UTILS_UNITTEST_ERRNOSETTERMATCHER_H |