llvm/libc/test/UnitTest/ErrnoSetterMatcher.h

//===-- 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/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 internal

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) {}

} // namespace ErrnoSetterMatcher

} // namespace testing
} // namespace LIBC_NAMESPACE_DECL

#endif // LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H