#ifndef LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
#define LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
#include "src/__support/FPUtil/FPBits.h"
#include "src/__support/FPUtil/fpbits_str.h"
#include "src/__support/StringUtil/error_to_string.h"
#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/architectures.h"
#include "src/errno/libc_errno.h"
#include "test/UnitTest/Test.h"
namespace LIBC_NAMESPACE_DECL {
namespace testing {
namespace internal {
enum class CompareAction { … };
constexpr const char *CompareMessage[] = …;
template <typename T> struct Comparator { … };
template <typename T> class ErrnoSetterMatcher : public Matcher<T> { … };
}
namespace ErrnoSetterMatcher {
template <typename T> internal::Comparator<T> LT(T val) { … }
template <typename T> internal::Comparator<T> LE(T val) { … }
template <typename T> internal::Comparator<T> GT(T val) { … }
template <typename T> internal::Comparator<T> GE(T val) { … }
template <typename T> internal::Comparator<T> EQ(T val) { … }
template <typename T> internal::Comparator<T> NE(T val) { … }
template <typename RetT = int>
static internal::ErrnoSetterMatcher<RetT> Succeeds(RetT ExpectedReturn = 0,
int ExpectedErrno = 0) { … }
template <typename RetT = int>
static internal::ErrnoSetterMatcher<RetT> Fails(int ExpectedErrno,
RetT ExpectedReturn = -1) { … }
template <typename RetT = int> class ErrnoSetterMatcherBuilder { … };
template <typename RetT>
static ErrnoSetterMatcherBuilder<RetT> returns(internal::Comparator<RetT> cmp) { … }
}
}
}
#endif