tesseract v5.3.3.20231005
gtest.h File Reference
#include <cstddef>
#include <limits>
#include <memory>
#include <ostream>
#include <type_traits>
#include <vector>
#include "gtest/internal/gtest-internal.h"
#include "gtest/internal/gtest-string.h"
#include "gtest/gtest-death-test.h"
#include "gtest/gtest-matchers.h"
#include "gtest/gtest-message.h"
#include "gtest/gtest-param-test.h"
#include "gtest/gtest-printers.h"
#include "gtest/gtest_prod.h"
#include "gtest/gtest-test-part.h"
#include "gtest/gtest-typed-test.h"
#include "gtest/gtest_pred_impl.h"

Go to the source code of this file.

Classes

class  testing::Test
 
class  testing::TestProperty
 
class  testing::TestResult
 
class  testing::TestInfo
 
class  testing::TestSuite
 
class  testing::Environment
 
class  testing::TestEventListener
 
class  testing::EmptyTestEventListener
 
class  testing::TestEventListeners
 
class  testing::UnitTest
 
struct  testing::internal::faketype
 
class  testing::internal::EqHelper
 
class  testing::internal::AssertHelper
 
class  testing::WithParamInterface< T >
 
class  testing::TestWithParam< T >
 
class  testing::ScopedTrace
 

Namespaces

namespace  testing
 
namespace  testing::internal
 

Macros

#define GTEST_IMPL_CMP_HELPER_(op_name, op)
 
#define GTEST_SKIP()   GTEST_SKIP_("")
 
#define ADD_FAILURE()   GTEST_NONFATAL_FAILURE_("Failed")
 
#define ADD_FAILURE_AT(file, line)
 
#define GTEST_FAIL()   GTEST_FATAL_FAILURE_("Failed")
 
#define GTEST_FAIL_AT(file, line)
 
#define FAIL()   GTEST_FAIL()
 
#define GTEST_SUCCEED()   GTEST_SUCCESS_("Succeeded")
 
#define SUCCEED()   GTEST_SUCCEED()
 
#define EXPECT_THROW(statement, expected_exception)    GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_)
 
#define EXPECT_NO_THROW(statement)    GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
 
#define EXPECT_ANY_THROW(statement)    GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_)
 
#define ASSERT_THROW(statement, expected_exception)    GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_)
 
#define ASSERT_NO_THROW(statement)    GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_)
 
#define ASSERT_ANY_THROW(statement)    GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_)
 
#define GTEST_EXPECT_TRUE(condition)
 
#define GTEST_EXPECT_FALSE(condition)
 
#define GTEST_ASSERT_TRUE(condition)
 
#define GTEST_ASSERT_FALSE(condition)
 
#define EXPECT_TRUE(condition)   GTEST_EXPECT_TRUE(condition)
 
#define EXPECT_FALSE(condition)   GTEST_EXPECT_FALSE(condition)
 
#define ASSERT_TRUE(condition)   GTEST_ASSERT_TRUE(condition)
 
#define ASSERT_FALSE(condition)   GTEST_ASSERT_FALSE(condition)
 
#define EXPECT_EQ(val1, val2)    EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 
#define EXPECT_NE(val1, val2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
 
#define EXPECT_LE(val1, val2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
 
#define EXPECT_LT(val1, val2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
 
#define EXPECT_GE(val1, val2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
 
#define EXPECT_GT(val1, val2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
 
#define GTEST_ASSERT_EQ(val1, val2)    ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
 
#define GTEST_ASSERT_NE(val1, val2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
 
#define GTEST_ASSERT_LE(val1, val2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
 
#define GTEST_ASSERT_LT(val1, val2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
 
#define GTEST_ASSERT_GE(val1, val2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
 
#define GTEST_ASSERT_GT(val1, val2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
 
#define ASSERT_EQ(val1, val2)   GTEST_ASSERT_EQ(val1, val2)
 
#define ASSERT_NE(val1, val2)   GTEST_ASSERT_NE(val1, val2)
 
#define ASSERT_LE(val1, val2)   GTEST_ASSERT_LE(val1, val2)
 
#define ASSERT_LT(val1, val2)   GTEST_ASSERT_LT(val1, val2)
 
#define ASSERT_GE(val1, val2)   GTEST_ASSERT_GE(val1, val2)
 
#define ASSERT_GT(val1, val2)   GTEST_ASSERT_GT(val1, val2)
 
#define EXPECT_STREQ(s1, s2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
 
#define EXPECT_STRNE(s1, s2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
 
#define EXPECT_STRCASEEQ(s1, s2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
 
#define EXPECT_STRCASENE(s1, s2)    EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
 
#define ASSERT_STREQ(s1, s2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
 
#define ASSERT_STRNE(s1, s2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
 
#define ASSERT_STRCASEEQ(s1, s2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
 
#define ASSERT_STRCASENE(s1, s2)    ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
 
#define EXPECT_FLOAT_EQ(val1, val2)
 
#define EXPECT_DOUBLE_EQ(val1, val2)
 
#define ASSERT_FLOAT_EQ(val1, val2)
 
#define ASSERT_DOUBLE_EQ(val1, val2)
 
#define EXPECT_NEAR(val1, val2, abs_error)
 
#define ASSERT_NEAR(val1, val2, abs_error)
 
#define ASSERT_NO_FATAL_FAILURE(statement)    GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_)
 
#define EXPECT_NO_FATAL_FAILURE(statement)    GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_)
 
#define SCOPED_TRACE(message)
 
#define GTEST_TEST(test_suite_name, test_name)
 
#define TEST(test_suite_name, test_name)   GTEST_TEST(test_suite_name, test_name)
 
#define TEST_F(test_fixture, test_name)
 

Typedefs

typedef internal::TimeInMillis testing::TimeInMillis
 

Functions

 GTEST_DISABLE_MSC_WARNINGS_PUSH_ (4251) namespace testing
 
Environment * testing::AddGlobalTestEnvironment (Environment *env)
 
GTEST_API_ void testing::InitGoogleTest (int *argc, char **argv)
 
GTEST_API_ void testing::InitGoogleTest (int *argc, wchar_t **argv)
 
GTEST_API_ void testing::InitGoogleTest ()
 
template<typename T1 , typename T2 >
AssertionResult testing::internal::CmpHelperEQFailure (const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs)
 
bool testing::internal::operator== (faketype, faketype)
 
bool testing::internal::operator!= (faketype, faketype)
 
template<typename T1 , typename T2 >
AssertionResult testing::internal::CmpHelperEQ (const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs)
 
template<typename T1 , typename T2 >
AssertionResult testing::internal::CmpHelperOpFailure (const char *expr1, const char *expr2, const T1 &val1, const T2 &val2, const char *op)
 
GTEST_API_ AssertionResult testing::internal::CmpHelperSTREQ (const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
 
GTEST_API_ AssertionResult testing::internal::CmpHelperSTRCASEEQ (const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
 
GTEST_API_ AssertionResult testing::internal::CmpHelperSTRNE (const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
 
GTEST_API_ AssertionResult testing::internal::CmpHelperSTRCASENE (const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
 
GTEST_API_ AssertionResult testing::internal::CmpHelperSTREQ (const char *s1_expression, const char *s2_expression, const wchar_t *s1, const wchar_t *s2)
 
GTEST_API_ AssertionResult testing::internal::CmpHelperSTRNE (const char *s1_expression, const char *s2_expression, const wchar_t *s1, const wchar_t *s2)
 
GTEST_API_ AssertionResult testing::IsSubstring (const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
 
GTEST_API_ AssertionResult testing::IsSubstring (const char *needle_expr, const char *haystack_expr, const wchar_t *needle, const wchar_t *haystack)
 
GTEST_API_ AssertionResult testing::IsNotSubstring (const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
 
GTEST_API_ AssertionResult testing::IsNotSubstring (const char *needle_expr, const char *haystack_expr, const wchar_t *needle, const wchar_t *haystack)
 
GTEST_API_ AssertionResult testing::IsSubstring (const char *needle_expr, const char *haystack_expr, const ::std::string &needle, const ::std::string &haystack)
 
GTEST_API_ AssertionResult testing::IsNotSubstring (const char *needle_expr, const char *haystack_expr, const ::std::string &needle, const ::std::string &haystack)
 
template<typename RawType >
AssertionResult testing::internal::CmpHelperFloatingPointEQ (const char *lhs_expression, const char *rhs_expression, RawType lhs_value, RawType rhs_value)
 
GTEST_API_ AssertionResult testing::internal::DoubleNearPredFormat (const char *expr1, const char *expr2, const char *abs_error_expr, double val1, double val2, double abs_error)
 
GTEST_API_ AssertionResult testing::FloatLE (const char *expr1, const char *expr2, float val1, float val2)
 
GTEST_API_ AssertionResult testing::DoubleLE (const char *expr1, const char *expr2, double val1, double val2)
 
template<typename T1 , typename T2 >
constexpr bool testing::StaticAssertTypeEq () noexcept
 
GTEST_API_ std::string testing::TempDir ()
 
template<int &... ExplicitParameterBarrier, typename Factory >
TestInfo * testing::RegisterTest (const char *test_suite_name, const char *test_name, const char *type_param, const char *value_param, const char *file, int line, Factory factory)
 
int RUN_ALL_TESTS () GTEST_MUST_USE_RESULT_
 

Variables

class GTEST_API_ testing::ScopedTrace testing::GTEST_ATTRIBUTE_UNUSED_
 

Macro Definition Documentation

◆ ADD_FAILURE

#define ADD_FAILURE ( )    GTEST_NONFATAL_FAILURE_("Failed")

Definition at line 1909 of file gtest.h.

◆ ADD_FAILURE_AT

#define ADD_FAILURE_AT (   file,
  line 
)
Value:
GTEST_MESSAGE_AT_(file, line, "Failed", \
::testing::TestPartResult::kNonFatalFailure)
#define GTEST_MESSAGE_AT_(file, line, message, result_type)

Definition at line 1913 of file gtest.h.

◆ ASSERT_ANY_THROW

#define ASSERT_ANY_THROW (   statement)     GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_)

Definition at line 1959 of file gtest.h.

◆ ASSERT_DOUBLE_EQ

#define ASSERT_DOUBLE_EQ (   val1,
  val2 
)
Value:
ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
val1, val2)
#define ASSERT_PRED_FORMAT2(pred_format, v1, v2)

Definition at line 2156 of file gtest.h.

◆ ASSERT_EQ

#define ASSERT_EQ (   val1,
  val2 
)    GTEST_ASSERT_EQ(val1, val2)

Definition at line 2073 of file gtest.h.

◆ ASSERT_FALSE

#define ASSERT_FALSE (   condition)    GTEST_ASSERT_FALSE(condition)

Definition at line 1994 of file gtest.h.

◆ ASSERT_FLOAT_EQ

#define ASSERT_FLOAT_EQ (   val1,
  val2 
)
Value:
ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
val1, val2)

Definition at line 2152 of file gtest.h.

◆ ASSERT_GE

#define ASSERT_GE (   val1,
  val2 
)    GTEST_ASSERT_GE(val1, val2)

Definition at line 2089 of file gtest.h.

◆ ASSERT_GT

#define ASSERT_GT (   val1,
  val2 
)    GTEST_ASSERT_GT(val1, val2)

Definition at line 2093 of file gtest.h.

◆ ASSERT_LE

#define ASSERT_LE (   val1,
  val2 
)    GTEST_ASSERT_LE(val1, val2)

Definition at line 2081 of file gtest.h.

◆ ASSERT_LT

#define ASSERT_LT (   val1,
  val2 
)    GTEST_ASSERT_LT(val1, val2)

Definition at line 2085 of file gtest.h.

◆ ASSERT_NE

#define ASSERT_NE (   val1,
  val2 
)    GTEST_ASSERT_NE(val1, val2)

Definition at line 2077 of file gtest.h.

◆ ASSERT_NEAR

#define ASSERT_NEAR (   val1,
  val2,
  abs_error 
)
Value:
val1, val2, abs_error)
#define ASSERT_PRED_FORMAT3(pred_format, v1, v2, v3)
GTEST_API_ AssertionResult DoubleNearPredFormat(const char *expr1, const char *expr2, const char *abs_error_expr, double val1, double val2, double abs_error)
Definition: gtest.cc:1563

Definition at line 2164 of file gtest.h.

◆ ASSERT_NO_FATAL_FAILURE

#define ASSERT_NO_FATAL_FAILURE (   statement)     GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_)

Definition at line 2216 of file gtest.h.

◆ ASSERT_NO_THROW

#define ASSERT_NO_THROW (   statement)     GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_)

Definition at line 1957 of file gtest.h.

◆ ASSERT_STRCASEEQ

#define ASSERT_STRCASEEQ (   s1,
  s2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)

Definition at line 2125 of file gtest.h.

◆ ASSERT_STRCASENE

#define ASSERT_STRCASENE (   s1,
  s2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)

Definition at line 2127 of file gtest.h.

◆ ASSERT_STREQ

#define ASSERT_STREQ (   s1,
  s2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)

Definition at line 2121 of file gtest.h.

◆ ASSERT_STRNE

#define ASSERT_STRNE (   s1,
  s2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)

Definition at line 2123 of file gtest.h.

◆ ASSERT_THROW

#define ASSERT_THROW (   statement,
  expected_exception 
)     GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_)

Definition at line 1955 of file gtest.h.

◆ ASSERT_TRUE

#define ASSERT_TRUE (   condition)    GTEST_ASSERT_TRUE(condition)

Definition at line 1990 of file gtest.h.

◆ EXPECT_ANY_THROW

#define EXPECT_ANY_THROW (   statement)     GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_)

Definition at line 1953 of file gtest.h.

◆ EXPECT_DOUBLE_EQ

#define EXPECT_DOUBLE_EQ (   val1,
  val2 
)
Value:
EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
val1, val2)
#define EXPECT_PRED_FORMAT2(pred_format, v1, v2)

Definition at line 2148 of file gtest.h.

◆ EXPECT_EQ

#define EXPECT_EQ (   val1,
  val2 
)     EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)

Definition at line 2043 of file gtest.h.

◆ EXPECT_FALSE

#define EXPECT_FALSE (   condition)    GTEST_EXPECT_FALSE(condition)

Definition at line 1986 of file gtest.h.

◆ EXPECT_FLOAT_EQ

#define EXPECT_FLOAT_EQ (   val1,
  val2 
)
Value:
EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
val1, val2)

Definition at line 2144 of file gtest.h.

◆ EXPECT_GE

#define EXPECT_GE (   val1,
  val2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)

Definition at line 2051 of file gtest.h.

◆ EXPECT_GT

#define EXPECT_GT (   val1,
  val2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)

Definition at line 2053 of file gtest.h.

◆ EXPECT_LE

#define EXPECT_LE (   val1,
  val2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)

Definition at line 2047 of file gtest.h.

◆ EXPECT_LT

#define EXPECT_LT (   val1,
  val2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)

Definition at line 2049 of file gtest.h.

◆ EXPECT_NE

#define EXPECT_NE (   val1,
  val2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)

Definition at line 2045 of file gtest.h.

◆ EXPECT_NEAR

#define EXPECT_NEAR (   val1,
  val2,
  abs_error 
)
Value:
val1, val2, abs_error)
#define EXPECT_PRED_FORMAT3(pred_format, v1, v2, v3)

Definition at line 2160 of file gtest.h.

◆ EXPECT_NO_FATAL_FAILURE

#define EXPECT_NO_FATAL_FAILURE (   statement)     GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_)

Definition at line 2218 of file gtest.h.

◆ EXPECT_NO_THROW

#define EXPECT_NO_THROW (   statement)     GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)

Definition at line 1951 of file gtest.h.

◆ EXPECT_STRCASEEQ

#define EXPECT_STRCASEEQ (   s1,
  s2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)

Definition at line 2116 of file gtest.h.

◆ EXPECT_STRCASENE

#define EXPECT_STRCASENE (   s1,
  s2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)

Definition at line 2118 of file gtest.h.

◆ EXPECT_STREQ

#define EXPECT_STREQ (   s1,
  s2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)

Definition at line 2112 of file gtest.h.

◆ EXPECT_STRNE

#define EXPECT_STRNE (   s1,
  s2 
)     EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)

Definition at line 2114 of file gtest.h.

◆ EXPECT_THROW

#define EXPECT_THROW (   statement,
  expected_exception 
)     GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_)

Definition at line 1949 of file gtest.h.

◆ EXPECT_TRUE

#define EXPECT_TRUE (   condition)    GTEST_EXPECT_TRUE(condition)

Definition at line 1982 of file gtest.h.

◆ FAIL

#define FAIL ( )    GTEST_FAIL()

Definition at line 1928 of file gtest.h.

◆ GTEST_ASSERT_EQ

#define GTEST_ASSERT_EQ (   val1,
  val2 
)     ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)

Definition at line 2056 of file gtest.h.

◆ GTEST_ASSERT_FALSE

#define GTEST_ASSERT_FALSE (   condition)
Value:
GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
#define GTEST_FATAL_FAILURE_(message)
#define GTEST_TEST_BOOLEAN_(expression, text, actual, expected, fail)

Definition at line 1974 of file gtest.h.

◆ GTEST_ASSERT_GE

#define GTEST_ASSERT_GE (   val1,
  val2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)

Definition at line 2064 of file gtest.h.

◆ GTEST_ASSERT_GT

#define GTEST_ASSERT_GT (   val1,
  val2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)

Definition at line 2066 of file gtest.h.

◆ GTEST_ASSERT_LE

#define GTEST_ASSERT_LE (   val1,
  val2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)

Definition at line 2060 of file gtest.h.

◆ GTEST_ASSERT_LT

#define GTEST_ASSERT_LT (   val1,
  val2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)

Definition at line 2062 of file gtest.h.

◆ GTEST_ASSERT_NE

#define GTEST_ASSERT_NE (   val1,
  val2 
)     ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)

Definition at line 2058 of file gtest.h.

◆ GTEST_ASSERT_TRUE

#define GTEST_ASSERT_TRUE (   condition)
Value:
GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \

Definition at line 1971 of file gtest.h.

◆ GTEST_EXPECT_FALSE

#define GTEST_EXPECT_FALSE (   condition)
Value:
GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
#define GTEST_NONFATAL_FAILURE_(message)

Definition at line 1968 of file gtest.h.

◆ GTEST_EXPECT_TRUE

#define GTEST_EXPECT_TRUE (   condition)
Value:
GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \

Definition at line 1965 of file gtest.h.

◆ GTEST_FAIL

#define GTEST_FAIL ( )    GTEST_FATAL_FAILURE_("Failed")

Definition at line 1918 of file gtest.h.

◆ GTEST_FAIL_AT

#define GTEST_FAIL_AT (   file,
  line 
)
Value:
GTEST_MESSAGE_AT_(file, line, "Failed", \
::testing::TestPartResult::kFatalFailure)

Definition at line 1921 of file gtest.h.

◆ GTEST_IMPL_CMP_HELPER_

#define GTEST_IMPL_CMP_HELPER_ (   op_name,
  op 
)
Value:
template <typename T1, typename T2>\
AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \
const T1& val1, const T2& val2) {\
if (val1 op val2) {\
return AssertionSuccess();\
} else {\
return CmpHelperOpFailure(expr1, expr2, val1, val2, #op);\
}\
}
@ T1
Definition: rune.c:27
@ T2
Definition: rune.c:29
AssertionResult AssertionSuccess()
Definition: gtest.cc:1209
AssertionResult CmpHelperOpFailure(const char *expr1, const char *expr2, const T1 &val1, const T2 &val2, const char *op)
Definition: gtest.h:1595

Definition at line 1610 of file gtest.h.

◆ GTEST_SKIP

#define GTEST_SKIP ( )    GTEST_SKIP_("")

Definition at line 1889 of file gtest.h.

◆ GTEST_SUCCEED

#define GTEST_SUCCEED ( )    GTEST_SUCCESS_("Succeeded")

Definition at line 1932 of file gtest.h.

◆ GTEST_TEST

#define GTEST_TEST (   test_suite_name,
  test_name 
)
Value:
GTEST_TEST_(test_suite_name, test_name, ::testing::Test, \
#define GTEST_TEST_(test_suite_name, test_name, parent_class, parent_id)
GTEST_API_ TypeId GetTestTypeId()
Definition: gtest.cc:847

Definition at line 2346 of file gtest.h.

◆ SCOPED_TRACE

#define SCOPED_TRACE (   message)
Value:
::testing::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\
__FILE__, __LINE__, (message))
#define GTEST_CONCAT_TOKEN_(foo, bar)

Definition at line 2281 of file gtest.h.

◆ SUCCEED

#define SUCCEED ( )    GTEST_SUCCEED()

Definition at line 1937 of file gtest.h.

◆ TEST

#define TEST (   test_suite_name,
  test_name 
)    GTEST_TEST(test_suite_name, test_name)

Definition at line 2353 of file gtest.h.

◆ TEST_F

#define TEST_F (   test_fixture,
  test_name 
)
Value:
GTEST_TEST_(test_fixture, test_name, test_fixture, \
::testing::internal::GetTypeId<test_fixture>())

Definition at line 2384 of file gtest.h.

Function Documentation

◆ GTEST_DISABLE_MSC_WARNINGS_PUSH_()

GTEST_DISABLE_MSC_WARNINGS_PUSH_ ( 4251  )

Definition at line 73 of file gtest.h.

76 {
77
78// Silence C4100 (unreferenced formal parameter) and 4805
79// unsafe mix of type 'const int' and type 'const bool'
80#ifdef _MSC_VER
81# pragma warning(push)
82# pragma warning(disable:4805)
83# pragma warning(disable:4100)
84#endif
85
86
87// Declares the flags.
88
89// This flag temporary enables the disabled tests.
90GTEST_DECLARE_bool_(also_run_disabled_tests);
91
92// This flag brings the debugger on an assertion failure.
93GTEST_DECLARE_bool_(break_on_failure);
94
95// This flag controls whether Google Test catches all test-thrown exceptions
96// and logs them as failures.
97GTEST_DECLARE_bool_(catch_exceptions);
98
99// This flag enables using colors in terminal output. Available values are
100// "yes" to enable colors, "no" (disable colors), or "auto" (the default)
101// to let Google Test decide.
103
104// This flag controls whether the test runner should continue execution past
105// first failure.
106GTEST_DECLARE_bool_(fail_fast);
107
108// This flag sets up the filter to select by name using a glob pattern
109// the tests to run. If the filter is not given all tests are executed.
111
112// This flag controls whether Google Test installs a signal handler that dumps
113// debugging information when fatal signals are raised.
114GTEST_DECLARE_bool_(install_failure_signal_handler);
115
116// This flag causes the Google Test to list tests. None of the tests listed
117// are actually run if the flag is provided.
118GTEST_DECLARE_bool_(list_tests);
119
120// This flag controls whether Google Test emits a detailed XML report to a file
121// in addition to its normal textual output.
123
124// This flags control whether Google Test prints only test failures.
126
127// This flags control whether Google Test prints the elapsed time for each
128// test.
129GTEST_DECLARE_bool_(print_time);
130
131// This flags control whether Google Test prints UTF8 characters as text.
132GTEST_DECLARE_bool_(print_utf8);
133
134// This flag specifies the random number seed.
135GTEST_DECLARE_int32_(random_seed);
136
137// This flag sets how many times the tests are repeated. The default value
138// is 1. If the value is -1 the tests are repeating forever.
140
141// This flag controls whether Google Test includes Google Test internal
142// stack frames in failure stack traces.
143GTEST_DECLARE_bool_(show_internal_stack_frames);
144
145// When this flag is specified, tests' order is randomized on every iteration.
146GTEST_DECLARE_bool_(shuffle);
147
148// This flag specifies the maximum number of stack frames to be
149// printed in a failure message.
150GTEST_DECLARE_int32_(stack_trace_depth);
151
152// When this flag is specified, a failed assertion will throw an
153// exception if exceptions are enabled, or exit the program with a
154// non-zero code otherwise. For use with an external test framework.
155GTEST_DECLARE_bool_(throw_on_failure);
156
157// When this flag is set with a "host:port" string, on supported
158// platforms test results are streamed to the specified port on
159// the specified host machine.
160GTEST_DECLARE_string_(stream_result_to);
161
162#if GTEST_USE_OWN_FLAGFILE_FLAG_
163GTEST_DECLARE_string_(flagfile);
164#endif // GTEST_USE_OWN_FLAGFILE_FLAG_
165
166// The upper limit for valid stack trace depths.
167const int kMaxStackTraceDepth = 100;
168
169namespace internal {
170
171class AssertHelper;
172class DefaultGlobalTestPartResultReporter;
173class ExecDeathTest;
174class NoExecDeathTest;
175class FinalSuccessChecker;
176class GTestFlagSaver;
177class StreamingListenerTest;
178class TestResultAccessor;
179class TestEventListenersAccessor;
180class TestEventRepeater;
181class UnitTestRecordPropertyTestHelper;
182class WindowsDeathTest;
183class FuchsiaDeathTest;
184class UnitTestImpl* GetUnitTestImpl();
185void ReportFailureInUnknownLocation(TestPartResult::Type result_type,
186 const std::string& message);
187std::set<std::string>* GetIgnoredParameterizedTestSuites();
188
189} // namespace internal
190
191// The friend relationship of some of these classes is cyclic.
192// If we don't forward declare them the compiler might confuse the classes
193// in friendship clauses with same named classes on the scope.
194class Test;
195class TestSuite;
196
197// Old API is still available but deprecated
198#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
199using TestCase = TestSuite;
200#endif
201class TestInfo;
202class UnitTest;
203
204// A class for indicating whether an assertion was successful. When
205// the assertion wasn't successful, the AssertionResult object
206// remembers a non-empty message that describes how it failed.
207//
208// To create an instance of this class, use one of the factory functions
209// (AssertionSuccess() and AssertionFailure()).
210//
211// This class is useful for two purposes:
212// 1. Defining predicate functions to be used with Boolean test assertions
213// EXPECT_TRUE/EXPECT_FALSE and their ASSERT_ counterparts
214// 2. Defining predicate-format functions to be
215// used with predicate assertions (ASSERT_PRED_FORMAT*, etc).
216//
217// For example, if you define IsEven predicate:
218//
219// testing::AssertionResult IsEven(int n) {
220// if ((n % 2) == 0)
221// return testing::AssertionSuccess();
222// else
223// return testing::AssertionFailure() << n << " is odd";
224// }
225//
226// Then the failed expectation EXPECT_TRUE(IsEven(Fib(5)))
227// will print the message
228//
229// Value of: IsEven(Fib(5))
230// Actual: false (5 is odd)
231// Expected: true
232//
233// instead of a more opaque
234//
235// Value of: IsEven(Fib(5))
236// Actual: false
237// Expected: true
238//
239// in case IsEven is a simple Boolean predicate.
240//
241// If you expect your predicate to be reused and want to support informative
242// messages in EXPECT_FALSE and ASSERT_FALSE (negative assertions show up
243// about half as often as positive ones in our tests), supply messages for
244// both success and failure cases:
245//
246// testing::AssertionResult IsEven(int n) {
247// if ((n % 2) == 0)
248// return testing::AssertionSuccess() << n << " is even";
249// else
250// return testing::AssertionFailure() << n << " is odd";
251// }
252//
253// Then a statement EXPECT_FALSE(IsEven(Fib(6))) will print
254//
255// Value of: IsEven(Fib(6))
256// Actual: true (8 is even)
257// Expected: false
258//
259// NB: Predicates that support negative Boolean assertions have reduced
260// performance in positive ones so be careful not to use them in tests
261// that have lots (tens of thousands) of positive Boolean assertions.
262//
263// To use this class with EXPECT_PRED_FORMAT assertions such as:
264//
265// // Verifies that Foo() returns an even number.
266// EXPECT_PRED_FORMAT1(IsEven, Foo());
267//
268// you need to define:
269//
270// testing::AssertionResult IsEven(const char* expr, int n) {
271// if ((n % 2) == 0)
272// return testing::AssertionSuccess();
273// else
274// return testing::AssertionFailure()
275// << "Expected: " << expr << " is even\n Actual: it's " << n;
276// }
277//
278// If Foo() returns 5, you will see the following message:
279//
280// Expected: Foo() is even
281// Actual: it's 5
282//
283class GTEST_API_ AssertionResult {
284 public:
285 // Copy constructor.
286 // Used in EXPECT_TRUE/FALSE(assertion_result).
287 AssertionResult(const AssertionResult& other);
288
289// C4800 is a level 3 warning in Visual Studio 2015 and earlier.
290// This warning is not emitted in Visual Studio 2017.
291// This warning is off by default starting in Visual Studio 2019 but can be
292// enabled with command-line options.
293#if defined(_MSC_VER) && (_MSC_VER < 1910 || _MSC_VER >= 1920)
294 GTEST_DISABLE_MSC_WARNINGS_PUSH_(4800 /* forcing value to bool */)
295#endif
296
297 // Used in the EXPECT_TRUE/FALSE(bool_expression).
298 //
299 // T must be contextually convertible to bool.
300 //
301 // The second parameter prevents this overload from being considered if
302 // the argument is implicitly convertible to AssertionResult. In that case
303 // we want AssertionResult's copy constructor to be used.
304 template <typename T>
305 explicit AssertionResult(
306 const T& success,
307 typename std::enable_if<
309 /*enabler*/
310 = nullptr)
311 : success_(success) {}
312
313#if defined(_MSC_VER) && (_MSC_VER < 1910 || _MSC_VER >= 1920)
315#endif
316
317 // Assignment operator.
318 AssertionResult& operator=(AssertionResult other) {
319 swap(other);
320 return *this;
321 }
322
323 // Returns true if and only if the assertion succeeded.
324 operator bool() const { return success_; } // NOLINT
325
326 // Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE.
327 AssertionResult operator!() const;
328
329 // Returns the text streamed into this AssertionResult. Test assertions
330 // use it when they fail (i.e., the predicate's outcome doesn't match the
331 // assertion's expectation). When nothing has been streamed into the
332 // object, returns an empty string.
333 const char* message() const {
334 return message_.get() != nullptr ? message_->c_str() : "";
335 }
336 // Deprecated; please use message() instead.
337 const char* failure_message() const { return message(); }
338
339 // Streams a custom failure message into this object.
340 template <typename T> AssertionResult& operator<<(const T& value) {
341 AppendMessage(Message() << value);
342 return *this;
343 }
344
345 // Allows streaming basic output manipulators such as endl or flush into
346 // this object.
347 AssertionResult& operator<<(
348 ::std::ostream& (*basic_manipulator)(::std::ostream& stream)) {
349 AppendMessage(Message() << basic_manipulator);
350 return *this;
351 }
352
353 private:
354 // Appends the contents of message to message_.
355 void AppendMessage(const Message& a_message) {
356 if (message_.get() == nullptr) message_.reset(new ::std::string);
357 message_->append(a_message.GetString().c_str());
358 }
359
360 // Swap the contents of this AssertionResult with other.
361 void swap(AssertionResult& other);
362
363 // Stores result of the assertion predicate.
364 bool success_;
365 // Stores the message describing the condition in case the expectation
366 // construct is not satisfied with the predicate's outcome.
367 // Referenced via a pointer to avoid taking too much stack frame space
368 // with test assertions.
369 std::unique_ptr< ::std::string> message_;
370};
371
372// Makes a successful assertion result.
373GTEST_API_ AssertionResult AssertionSuccess();
374
375// Makes a failed assertion result.
376GTEST_API_ AssertionResult AssertionFailure();
377
378// Makes a failed assertion result with the given failure message.
379// Deprecated; use AssertionFailure() << msg.
380GTEST_API_ AssertionResult AssertionFailure(const Message& msg);
381
382} // namespace testing
int value
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251) namespace testing
Definition: gtest.h:73
#define GTEST_DECLARE_bool_(name)
Definition: gtest-port.h:2216
#define GTEST_DECLARE_string_(name)
Definition: gtest-port.h:2219
#define GTEST_API_
Definition: gtest-port.h:779
#define GTEST_DECLARE_int32_(name)
Definition: gtest-port.h:2217
#define GTEST_DISABLE_MSC_WARNINGS_POP_()
Definition: gtest-port.h:324
ICOORD operator!(const ICOORD &src)
Definition: points.h:324
std::ostream & operator<<(std::ostream &os, const Message &sb)
AssertionResult AssertionFailure()
Definition: gtest.cc:1214
void ReportFailureInUnknownLocation(TestPartResult::Type result_type, const std::string &message)
Definition: gtest.cc:2455
std::set< std::string > * GetIgnoredParameterizedTestSuites()
Definition: gtest.cc:458
type
Definition: upload.py:458

◆ RUN_ALL_TESTS()

int RUN_ALL_TESTS ( )
inline

Definition at line 2489 of file gtest.h.

2489 {
2490 return ::testing::UnitTest::GetInstance()->Run();
2491}