Go to the documentation of this file.
52 #ifndef GTEST_INCLUDE_GTEST_GTEST_H_
53 #define GTEST_INCLUDE_GTEST_GTEST_H_
94 # pragma warning(push)
95 # pragma warning(disable:4805)
96 # pragma warning(disable:4100)
168 #if GTEST_USE_OWN_FLAGFILE_FLAG_
170 #endif // GTEST_USE_OWN_FLAGFILE_FLAG_
173 const int kMaxStackTraceDepth = 100;
178 class DefaultGlobalTestPartResultReporter;
180 class NoExecDeathTest;
181 class FinalSuccessChecker;
182 class GTestFlagSaver;
183 class StreamingListenerTest;
184 class TestResultAccessor;
185 class TestEventListenersAccessor;
186 class TestEventRepeater;
187 class UnitTestRecordPropertyTestHelper;
188 class WindowsDeathTest;
189 class FuchsiaDeathTest;
190 class UnitTestImpl* GetUnitTestImpl();
203 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
292 AssertionResult(
const AssertionResult& other);
294 #if defined(_MSC_VER) && _MSC_VER < 1910
305 template <
typename T>
306 explicit AssertionResult(
308 typename internal::EnableIf<
312 : success_(success) {}
314 #if defined(_MSC_VER) && _MSC_VER < 1910
319 AssertionResult& operator=(AssertionResult other) {
325 operator bool()
const {
return success_; }
335 return message_.get() !=
nullptr ? message_->c_str() :
"";
338 const char* failure_message()
const {
return message(); }
342 AppendMessage(Message() <<
value);
349 ::std::ostream& (*basic_manipulator)(::std::ostream&
stream)) {
350 AppendMessage(Message() << basic_manipulator);
356 void AppendMessage(
const Message& a_message) {
358 message_->append(a_message.GetString().c_str());
362 void swap(AssertionResult& other);
370 std::unique_ptr< ::std::string> message_;
439 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
442 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
445 static bool HasFatalFailure();
448 static bool HasNonfatalFailure();
451 static bool IsSkipped();
455 static bool HasFailure() {
return HasFatalFailure() || HasNonfatalFailure(); }
478 virtual void SetUp();
481 virtual void TearDown();
486 static bool HasSameFixtureClass();
494 virtual void TestBody() = 0;
581 int total_part_count()
const;
584 int test_property_count()
const;
587 bool Passed()
const {
return !Skipped() && !Failed(); }
590 bool Skipped()
const;
596 bool HasFatalFailure()
const;
599 bool HasNonfatalFailure()
const;
606 const TestPartResult& GetTestPartResult(
int i)
const;
617 friend class internal::DefaultGlobalTestPartResultReporter;
618 friend class internal::ExecDeathTest;
619 friend class internal::TestResultAccessor;
620 friend class internal::UnitTestImpl;
621 friend class internal::WindowsDeathTest;
622 friend class internal::FuchsiaDeathTest;
626 return test_part_results_;
631 return test_properties_;
643 void RecordProperty(
const std::string& xml_element,
649 static bool ValidateTestProperty(
const std::string& xml_element,
653 void AddTestPartResult(
const TestPartResult& test_part_result);
662 void ClearTestPartResults();
705 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
707 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
715 if (type_param_.get() !=
nullptr)
return type_param_->c_str();
722 if (value_param_.get() !=
nullptr)
return value_param_->c_str();
727 const char*
file()
const {
return location_.file.c_str(); }
730 int line()
const {
return location_.line; }
757 return matches_filter_ && !is_in_another_shard_;
764 #if GTEST_HAS_DEATH_TEST
765 friend class internal::DefaultDeathTestFactory;
766 #endif // GTEST_HAS_DEATH_TEST
769 friend class internal::UnitTestImpl;
770 friend class internal::StreamingListenerTest;
772 const char* test_suite_name,
const char*
name,
const char* type_param,
781 const char* a_type_param,
782 const char* a_value_param,
790 return result_.increment_death_test_count();
857 if (type_param_.get() !=
nullptr)
return type_param_->c_str();
865 int successful_test_count()
const;
868 int skipped_test_count()
const;
871 int failed_test_count()
const;
874 int reportable_disabled_test_count()
const;
877 int disabled_test_count()
const;
880 int reportable_test_count()
const;
883 int test_to_run_count()
const;
886 int total_test_count()
const;
889 bool Passed()
const {
return !Failed(); }
892 bool Failed()
const {
return failed_test_count() > 0; }
899 const TestInfo* GetTestInfo(
int i)
const;
907 friend class internal::UnitTestImpl;
914 return test_info_list_;
926 void AddTestInfo(
TestInfo * test_info);
942 if (set_up_tc_ !=
nullptr) {
950 if (tear_down_tc_ !=
nullptr) {
995 void UnshuffleTests();
1056 #if GTEST_HAS_EXCEPTIONS
1060 :
public internal::GoogleTestFailureException {
1062 explicit AssertionException(
const TestPartResult& result)
1063 : GoogleTestFailureException(result) {}
1066 #endif // GTEST_HAS_EXCEPTIONS
1093 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1095 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1112 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1114 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1144 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1146 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1152 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1154 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1185 return default_result_printer_;
1196 return default_xml_generator_;
1202 friend class internal::DefaultGlobalTestPartResultReporter;
1203 friend class internal::NoExecDeathTest;
1205 friend class internal::UnitTestImpl;
1227 bool EventForwardingEnabled()
const;
1228 void SuppressEventForwarding();
1268 const char* original_working_dir()
const;
1275 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1281 const TestInfo* current_test_info()
const
1285 int random_seed()
const;
1295 int successful_test_suite_count()
const;
1298 int failed_test_suite_count()
const;
1301 int total_test_suite_count()
const;
1305 int test_suite_to_run_count()
const;
1308 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1309 int successful_test_case_count()
const;
1310 int failed_test_case_count()
const;
1311 int total_test_case_count()
const;
1312 int test_case_to_run_count()
const;
1313 #endif // EMOVE_LEGACY_TEST_CASEAPI
1316 int successful_test_count()
const;
1319 int skipped_test_count()
const;
1322 int failed_test_count()
const;
1325 int reportable_disabled_test_count()
const;
1328 int disabled_test_count()
const;
1331 int reportable_test_count()
const;
1334 int total_test_count()
const;
1337 int test_to_run_count()
const;
1347 bool Passed()
const;
1351 bool Failed()
const;
1358 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1359 const TestCase* GetTestCase(
int i)
const;
1360 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1364 const TestResult& ad_hoc_test_result()
const;
1387 const char* file_name,
1405 internal::UnitTestImpl*
impl() {
return impl_; }
1406 const internal::UnitTestImpl*
impl()
const {
return impl_; }
1413 friend class internal::StreamingListenerTest;
1416 friend internal::UnitTestImpl* internal::GetUnitTestImpl();
1429 void PushGTestTrace(
const internal::TraceInfo& trace)
1433 void PopGTestTrace()
1496 template <
typename T1,
typename T2>
1498 const char* rhs_expression,
1499 const T1& lhs,
const T2& rhs) {
1515 template <
typename T1,
typename T2>
1517 const char* rhs_expression,
1531 const char* rhs_expression,
1539 template <
bool lhs_is_null_literal>
1543 template <
typename T1,
typename T2>
1544 static AssertionResult
Compare(
const char* lhs_expression,
1545 const char* rhs_expression,
1548 return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1557 static AssertionResult
Compare(
const char* lhs_expression,
1558 const char* rhs_expression,
1561 return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1574 template <
typename T1,
typename T2>
1576 const char* lhs_expression,
const char* rhs_expression,
const T1& lhs,
1584 return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1589 template <
typename T>
1591 const char* lhs_expression,
1592 const char* rhs_expression,
1602 return CmpHelperEQ(lhs_expression, rhs_expression,
static_cast<T*
>(
nullptr),
1610 template <
typename T1,
typename T2>
1612 const T1& val1,
const T2& val2,
1615 <<
"Expected: (" << expr1 <<
") " << op <<
" (" << expr2
1631 #define GTEST_IMPL_CMP_HELPER_(op_name, op)\
1632 template <typename T1, typename T2>\
1633 AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \
1634 const T1& val1, const T2& val2) {\
1635 if (val1 op val2) {\
1636 return AssertionSuccess();\
1638 return CmpHelperOpFailure(expr1, expr2, val1, val2, #op);\
1641 GTEST_API_ AssertionResult CmpHelper##op_name(\
1642 const char* expr1, const char* expr2, BiggestInt val1, BiggestInt val2)
1657 #undef GTEST_IMPL_CMP_HELPER_
1663 const char* s2_expression,
1671 const char* s2_expression,
1679 const char* s2_expression,
1687 const char* s2_expression,
1696 const char* s2_expression,
1704 const char* s2_expression,
1719 const char* needle_expr,
const char* haystack_expr,
1720 const char* needle,
const char* haystack);
1722 const char* needle_expr,
const char* haystack_expr,
1723 const wchar_t* needle,
const wchar_t* haystack);
1725 const char* needle_expr,
const char* haystack_expr,
1726 const char* needle,
const char* haystack);
1728 const char* needle_expr,
const char* haystack_expr,
1729 const wchar_t* needle,
const wchar_t* haystack);
1731 const char* needle_expr,
const char* haystack_expr,
1734 const char* needle_expr,
const char* haystack_expr,
1737 #if GTEST_HAS_STD_WSTRING
1739 const char* needle_expr,
const char* haystack_expr,
1742 const char* needle_expr,
const char* haystack_expr,
1744 #endif // GTEST_HAS_STD_WSTRING
1755 template <
typename RawType>
1757 const char* rhs_expression,
1759 RawType rhs_value) {
1762 if (lhs.AlmostEquals(rhs)) {
1766 ::std::stringstream lhs_ss;
1767 lhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
1770 ::std::stringstream rhs_ss;
1771 rhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
1786 const char* abs_error_expr,
1813 const char* srcfile,
1816 :
type(t), file(srcfile), line(line_num),
message(msg) { }
1874 template <typename
T>
1884 <<
"GetParam() can only be called inside a value-parameterized test "
1885 <<
"-- did you intend to write TEST_P instead of TEST_F?";
1903 template <
typename T>
1909 template <
typename T>
1918 #define GTEST_SKIP() GTEST_SKIP_("Skipped")
1938 #define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed")
1942 #define ADD_FAILURE_AT(file, line) \
1943 GTEST_MESSAGE_AT_(file, line, "Failed", \
1944 ::testing::TestPartResult::kNonFatalFailure)
1947 #define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed")
1951 #if !GTEST_DONT_DEFINE_FAIL
1952 # define FAIL() GTEST_FAIL()
1956 #define GTEST_SUCCEED() GTEST_SUCCESS_("Succeeded")
1960 #if !GTEST_DONT_DEFINE_SUCCEED
1961 # define SUCCEED() GTEST_SUCCEED()
1973 #define EXPECT_THROW(statement, expected_exception) \
1974 GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_)
1975 #define EXPECT_NO_THROW(statement) \
1976 GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
1977 #define EXPECT_ANY_THROW(statement) \
1978 GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_)
1979 #define ASSERT_THROW(statement, expected_exception) \
1980 GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_)
1981 #define ASSERT_NO_THROW(statement) \
1982 GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_)
1983 #define ASSERT_ANY_THROW(statement) \
1984 GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_)
1989 #define EXPECT_TRUE(condition) \
1990 GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
1991 GTEST_NONFATAL_FAILURE_)
1992 #define EXPECT_FALSE(condition) \
1993 GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
1994 GTEST_NONFATAL_FAILURE_)
1995 #define ASSERT_TRUE(condition) \
1996 GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
1997 GTEST_FATAL_FAILURE_)
1998 #define ASSERT_FALSE(condition) \
1999 GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
2000 GTEST_FATAL_FAILURE_)
2048 #define EXPECT_EQ(val1, val2) \
2049 EXPECT_PRED_FORMAT2(::testing::internal:: \
2050 EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
2052 #define EXPECT_NE(val1, val2) \
2053 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
2054 #define EXPECT_LE(val1, val2) \
2055 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
2056 #define EXPECT_LT(val1, val2) \
2057 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
2058 #define EXPECT_GE(val1, val2) \
2059 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
2060 #define EXPECT_GT(val1, val2) \
2061 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
2063 #define GTEST_ASSERT_EQ(val1, val2) \
2064 ASSERT_PRED_FORMAT2(::testing::internal:: \
2065 EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
2067 #define GTEST_ASSERT_NE(val1, val2) \
2068 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
2069 #define GTEST_ASSERT_LE(val1, val2) \
2070 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
2071 #define GTEST_ASSERT_LT(val1, val2) \
2072 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
2073 #define GTEST_ASSERT_GE(val1, val2) \
2074 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
2075 #define GTEST_ASSERT_GT(val1, val2) \
2076 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
2081 #if !GTEST_DONT_DEFINE_ASSERT_EQ
2082 # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
2085 #if !GTEST_DONT_DEFINE_ASSERT_NE
2086 # define ASSERT_NE(val1, val2) GTEST_ASSERT_NE(val1, val2)
2089 #if !GTEST_DONT_DEFINE_ASSERT_LE
2090 # define ASSERT_LE(val1, val2) GTEST_ASSERT_LE(val1, val2)
2093 #if !GTEST_DONT_DEFINE_ASSERT_LT
2094 # define ASSERT_LT(val1, val2) GTEST_ASSERT_LT(val1, val2)
2097 #if !GTEST_DONT_DEFINE_ASSERT_GE
2098 # define ASSERT_GE(val1, val2) GTEST_ASSERT_GE(val1, val2)
2101 #if !GTEST_DONT_DEFINE_ASSERT_GT
2102 # define ASSERT_GT(val1, val2) GTEST_ASSERT_GT(val1, val2)
2121 #define EXPECT_STREQ(s1, s2) \
2122 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
2123 #define EXPECT_STRNE(s1, s2) \
2124 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
2125 #define EXPECT_STRCASEEQ(s1, s2) \
2126 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
2127 #define EXPECT_STRCASENE(s1, s2)\
2128 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
2130 #define ASSERT_STREQ(s1, s2) \
2131 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
2132 #define ASSERT_STRNE(s1, s2) \
2133 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
2134 #define ASSERT_STRCASEEQ(s1, s2) \
2135 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
2136 #define ASSERT_STRCASENE(s1, s2)\
2137 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
2153 #define EXPECT_FLOAT_EQ(val1, val2)\
2154 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
2157 #define EXPECT_DOUBLE_EQ(val1, val2)\
2158 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
2161 #define ASSERT_FLOAT_EQ(val1, val2)\
2162 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
2165 #define ASSERT_DOUBLE_EQ(val1, val2)\
2166 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
2169 #define EXPECT_NEAR(val1, val2, abs_error)\
2170 EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
2171 val1, val2, abs_error)
2173 #define ASSERT_NEAR(val1, val2, abs_error)\
2174 ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
2175 val1, val2, abs_error)
2185 float val1,
float val2);
2187 double val1,
double val2);
2190 #if GTEST_OS_WINDOWS
2201 # define EXPECT_HRESULT_SUCCEEDED(expr) \
2202 EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr))
2204 # define ASSERT_HRESULT_SUCCEEDED(expr) \
2205 ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr))
2207 # define EXPECT_HRESULT_FAILED(expr) \
2208 EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr))
2210 # define ASSERT_HRESULT_FAILED(expr) \
2211 ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr))
2213 #endif // GTEST_OS_WINDOWS
2225 #define ASSERT_NO_FATAL_FAILURE(statement) \
2226 GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_)
2227 #define EXPECT_NO_FATAL_FAILURE(statement) \
2228 GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_)
2247 template <
typename T>
2257 #if GTEST_HAS_GLOBAL_STRING
2259 PushTrace(file, line,
message);
2264 PushTrace(file, line,
message);
2296 #define SCOPED_TRACE(message) \
2297 ::testing::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\
2298 __FILE__, __LINE__, (message))
2331 template <
typename T1,
typename T2>
2362 #define GTEST_TEST(test_suite_name, test_name) \
2363 GTEST_TEST_(test_suite_name, test_name, ::testing::Test, \
2364 ::testing::internal::GetTestTypeId())
2368 #if !GTEST_DONT_DEFINE_TEST
2369 #define TEST(test_suite_name, test_name) GTEST_TEST(test_suite_name, test_name)
2398 #define TEST_F(test_fixture, test_name)\
2399 GTEST_TEST_(test_fixture, test_name, test_fixture, \
2400 ::testing::internal::GetTypeId<test_fixture>())
2407 # pragma warning(pop)
2467 template <
int&... ExplicitParameterBarrier,
typename Factory>
2469 const char* type_param,
const char* value_param,
2470 const char* file,
int line, Factory factory) {
2471 using TestT =
typename std::remove_pointer<decltype(factory())>
::type;
2475 explicit FactoryImpl(Factory
f) : factory_(std::move(
f)) {}
2476 Test* CreateTest()
override {
return factory_(); }
2483 test_suite_name, test_name, type_param, value_param,
2487 new FactoryImpl{std::move(factory)});
2503 return ::testing::UnitTest::GetInstance()->Run();
2508 #endif // GTEST_INCLUDE_GTEST_GTEST_H_
internal::TearDownTestSuiteFunc tear_down_tc_
GTEST_API_ AssertionResult CmpHelperSTRCASENE(const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
AssertionResult AssertionFailure()
GLuint const GLchar * name
AssertHelperData *const data_
GTEST_API_ std::string TempDir()
void swap(message_t &a, message_t &b) ZMQ_NOTHROW
const std::unique_ptr< GTEST_FLAG_SAVER_ > gtest_flag_saver_
const std::vector< TestProperty > & test_properties() const
TestResult ad_hoc_test_result_
static const ParamType * parameter_
internal::TestFactoryBase *const factory_
void OnTestEnd(const TestInfo &) override
static bool TestDisabled(const TestInfo *test_info)
virtual void OnEnvironmentsTearDownEnd(const UnitTest &unit_test)=0
TestEventListener * default_xml_generator() const
void OnTestCaseStart(const TestCase &) override
void(*)() SetUpTestSuiteFunc
virtual void OnTestCaseEnd(const TestCase &)
internal::UnitTestImpl * impl()
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs, typename EnableIf<!std::is_pointer< T2 >::value >::type *=nullptr)
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, BiggestInt lhs, BiggestInt rhs)
virtual void OnTestSuiteEnd(const TestSuite &)
std::string FormatForComparisonFailureMessage(const T1 &value, const T2 &)
const std::unique_ptr< const ::std::string > type_param_
static void SetUpTestSuite()
void OnTestCaseEnd(const TestCase &) override
void OnTestProgramEnd(const UnitTest &) override
TypeWithSize< 8 >::Int TimeInMillis
GTEST_API_ AssertionResult CmpHelperEQ(const char *lhs_expression, const char *rhs_expression, BiggestInt lhs, BiggestInt rhs)
std::vector< TestPartResult > test_part_results_
void OnTestProgramStart(const UnitTest &) override
TestEventListener * default_xml_generator_
virtual void OnTestEnd(const TestInfo &test_info)=0
internal::TestEventRepeater * repeater_
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs)
const std::vector< TestInfo * > & test_info_list() const
static void SetParam(const ParamType *parameter)
void OnTestSuiteEnd(const TestSuite &) override
static void Append(State *state, const char *const str, const int length)
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251) namespace testing
void SetValue(const std::string &new_value)
const char * test_case_name() const
void OnTestIterationStart(const UnitTest &, int) override
GLsizei const GLchar *const * string
std::vector< int > test_indices_
bool is_in_another_shard_
bool operator!=(faketype, faketype)
static void SetUpTestCase()
const char * type_param() const
#define GTEST_DECLARE_bool_(name)
bool is_in_another_shard() const
int increment_death_test_count()
bool is_reportable() const
static void ClearTestResult(TestInfo *test_info)
void OnTestStart(const TestInfo &) override
#define T(upbtypeconst, upbtype, ctype, default_value)
GTEST_API_ AssertionResult DoubleNearPredFormat(const char *expr1, const char *expr2, const char *abs_error_expr, double val1, double val2, double abs_error)
const internal::TypeId fixture_class_id_
void ColoredPrintf(GTestColor color, const char *fmt,...)
virtual void OnTestPartResult(const TestPartResult &test_part_result)=0
const char * type_param() const
const std::vector< TestPartResult > & test_part_results() const
void(*)() TearDownTestSuiteFunc
std::ostream & operator<<(std::ostream &os, const message_t &msg)
GTEST_API_ AssertionResult CmpHelperSTRCASEEQ(const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
void set_elapsed_time(TimeInMillis elapsed)
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, Secret *, T *rhs)
#define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check)
const char * file() const
void OnTestPartResult(const TestPartResult &) override
ScopedTrace(const char *file, int line, const T &message)
const internal::UnitTestImpl * impl() const
class GTEST_API_ testing::ScopedTrace GTEST_ATTRIBUTE_UNUSED_
AssertionResult CmpHelperFloatingPointEQ(const char *lhs_expression, const char *rhs_expression, RawType lhs_value, RawType rhs_value)
virtual void OnEnvironmentsSetUpEnd(const UnitTest &unit_test)=0
static bool TestPassed(const TestInfo *test_info)
virtual void OnTestProgramStart(const UnitTest &unit_test)=0
#define GTEST_CHECK_(condition)
const TestPartResult::Type type
const std::string test_suite_name_
void OnEnvironmentsTearDownStart(const UnitTest &) override
ScopedTrace(const char *file, int line, const std::string &message)
#define GTEST_LOCK_EXCLUDED_(locks)
bool operator==(const in6_addr a, const in6_addr b)
#define GTEST_IMPL_CMP_HELPER_(op_name, op)
void OnTestSuiteStart(const TestSuite &) override
static bool TestSkipped(const TestInfo *test_info)
GTEST_API_ const char * fmt
internal::WrappedMutex mutex_
internal::TimeInMillis TimeInMillis
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
static bool TestReportable(const TestInfo *test_info)
AssertionResult AssertionSuccess()
AssertHelperData(TestPartResult::Type t, const char *srcfile, int line_num, const char *msg)
TimeInMillis elapsed_time() const
void set_should_run(bool should)
ScopedTrace(const char *file, int line, const char *message)
std::vector< TestInfo * > & test_info_list()
#define GTEST_DECLARE_int32_(name)
AssertionResult CmpHelperOpFailure(const char *expr1, const char *expr2, const T1 &val1, const T2 &val2, const char *op)
TimeInMillis elapsed_time_
const TestResult * result() const
virtual ~TestEventListener()
const SETUP_TEARDOWN_TESTCONTEXT char * key
const char * name() const
internal::SetUpTestSuiteFunc set_up_tc_
GTEST_API_ AssertionResult CmpHelperSTRNE(const char *s1_expression, const char *s2_expression, const wchar_t *s1, const wchar_t *s2)
#define GTEST_DECLARE_string_(name)
static bool TestReportableDisabled(const TestInfo *test_info)
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
const std::unique_ptr< const ::std::string > value_param_
virtual void OnEnvironmentsTearDownStart(const UnitTest &unit_test)=0
void OnEnvironmentsSetUpStart(const UnitTest &) override
const typedef void * TypeId
int death_test_count() const
bool StaticAssertTypeEq()
void OnEnvironmentsTearDownEnd(const UnitTest &) override
GTEST_API_ TestInfo * MakeAndRegisterTestInfo(const char *test_suite_name, const char *name, const char *type_param, const char *value_param, CodeLocation code_location, TypeId fixture_class_id, SetUpTestSuiteFunc set_up_tc, TearDownTestSuiteFunc tear_down_tc, TestFactoryBase *factory)
AssertionResult CmpHelperEQFailure(const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs)
const char * value_param() const
internal::CodeLocation location_
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
TimeInMillis elapsed_time() const
GTEST_API_ AssertionResult EqFailure(const char *expected_expression, const char *actual_expression, const std::string &expected_value, const std::string &actual_value, bool ignoring_case)
virtual void OnTestCaseStart(const TestCase &)
int increment_death_test_count()
static void TearDownTestSuite()
static void TearDownTestCase()
const char * name() const
virtual ~WithParamInterface()
const std::string message
TestProperty(const std::string &a_key, const std::string &a_value)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
TestEventListener * default_result_printer() const
Environment * AddEnvironment(Environment *env)
const std::unique_ptr< const ::std::string > type_param_
TestInfo * 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)
static void ClearTestSuiteResult(TestSuite *test_suite)
GTEST_API_ AssertionResult IsSubstring(const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
GTEST_API_ std::string StringStreamToString(::std::stringstream *stream)
void RunTearDownTestSuite()
virtual void OnEnvironmentsSetUpStart(const UnitTest &unit_test)=0
TestEventListener * default_result_printer_
static const ParamType & GetParam()
GTEST_API_ AssertionResult IsNotSubstring(const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
GTEST_API_ AssertionResult CmpHelperSTREQ(const char *s1_expression, const char *s2_expression, const wchar_t *s1, const wchar_t *s2)
static UnitTest * GetInstance()
void OnTestIterationEnd(const UnitTest &, int) override
#define GTEST_MUST_USE_RESULT_
const typedef int * result_type
#define GTEST_DISALLOW_COPY_AND_ASSIGN_(type)
virtual void OnTestIterationStart(const UnitTest &unit_test, int iteration)=0
std::vector< TestProperty > test_properties_
const TestResult & ad_hoc_test_result() const
GTEST_API_ AssertionResult FloatLE(const char *expr1, const char *expr2, float val1, float val2)
void OnEnvironmentsSetUpEnd(const UnitTest &) override
virtual void OnTestStart(const TestInfo &test_info)=0
TimeInMillis elapsed_time_
internal::Mutex test_properites_mutex_
const char * value() const
static bool ShouldRunTest(const TestInfo *test_info)
bool operator!(const uint128 &val)
GLsizei const GLfloat * value
const upb_json_parsermethod const upb_symtab upb_sink * output
const char * test_suite_name() const
Environment * AddGlobalTestEnvironment(Environment *env)
virtual Setup_should_be_spelled_SetUp * Setup()
virtual void OnTestProgramEnd(const UnitTest &unit_test)=0
virtual void OnTestIterationEnd(const UnitTest &unit_test, int iteration)=0
GTEST_API_ AssertionResult DoubleLE(const char *expr1, const char *expr2, double val1, double val2)
GLenum GLuint GLenum GLsizei const GLchar * message
static bool TestFailed(const TestInfo *test_info)
void ReportFailureInUnknownLocation(TestPartResult::Type result_type, const std::string &message)
std::vector< TestInfo * > test_info_list_
#define GTEST_DISABLE_MSC_WARNINGS_POP_()
virtual Setup_should_be_spelled_SetUp * Setup()
virtual void OnTestSuiteStart(const TestSuite &)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:53