Go to the documentation of this file.
49 #ifndef GOOGLETEST_INCLUDE_GTEST_GTEST_H_
50 #define GOOGLETEST_INCLUDE_GTEST_GTEST_H_
56 #include <type_traits>
60 #include "gtest/gtest-death-test.h"
61 #include "gtest/gtest-matchers.h"
62 #include "gtest/gtest-message.h"
63 #include "gtest/gtest-param-test.h"
64 #include "gtest/gtest-printers.h"
65 #include "gtest/gtest-test-part.h"
66 #include "gtest/gtest-typed-test.h"
67 #include "gtest/gtest_pred_impl.h"
68 #include "gtest/gtest_prod.h"
69 #include "gtest/internal/gtest-internal.h"
70 #include "gtest/internal/gtest-string.h"
156 #if GTEST_USE_OWN_FLAGFILE_FLAG_
158 #endif // GTEST_USE_OWN_FLAGFILE_FLAG_
165 #pragma warning(push)
166 #pragma warning(disable : 4805)
167 #pragma warning(disable : 4100)
176 class DefaultGlobalTestPartResultReporter;
178 class NoExecDeathTest;
179 class FinalSuccessChecker;
180 class GTestFlagSaver;
181 class StreamingListenerTest;
182 class TestResultAccessor;
183 class TestEventListenersAccessor;
184 class TestEventRepeater;
185 class UnitTestRecordPropertyTestHelper;
186 class WindowsDeathTest;
187 class FuchsiaDeathTest;
202 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
256 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
259 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
262 static bool HasFatalFailure();
265 static bool HasNonfatalFailure();
268 static bool IsSkipped();
272 static bool HasFailure() {
return HasFatalFailure() || HasNonfatalFailure(); }
295 virtual void SetUp();
298 virtual void TearDown();
303 static bool HasSameFixtureClass();
311 virtual void TestBody() = 0;
320 const std::unique_ptr<GTEST_FLAG_SAVER_> gtest_flag_saver_;
338 struct Setup_should_be_spelled_SetUp {};
398 int total_part_count()
const;
401 int test_property_count()
const;
404 bool Passed()
const {
return !Skipped() && !Failed(); }
407 bool Skipped()
const;
413 bool HasFatalFailure()
const;
416 bool HasNonfatalFailure()
const;
439 friend class internal::ExecDeathTest;
442 friend class internal::WindowsDeathTest;
443 friend class internal::FuchsiaDeathTest;
447 return test_part_results_;
452 return test_properties_;
467 void RecordProperty(
const std::string& xml_element,
473 static bool ValidateTestProperty(
const std::string& xml_element,
486 void ClearTestPartResults();
496 std::vector<TestPartResult> test_part_results_;
498 std::vector<TestProperty> test_properties_;
500 int death_test_count_;
531 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
533 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
541 if (type_param_.get() !=
nullptr)
return type_param_->c_str();
548 if (value_param_.get() !=
nullptr)
return value_param_->c_str();
553 const char*
file()
const {
return location_.file.c_str(); }
556 int line()
const {
return location_.line; }
583 return matches_filter_ && !is_in_another_shard_;
590 #if GTEST_HAS_DEATH_TEST
591 friend class internal::DefaultDeathTestFactory;
592 #endif // GTEST_HAS_DEATH_TEST
596 friend class internal::StreamingListenerTest;
598 const char* test_suite_name,
const char*
name,
const char* type_param,
607 const char* a_type_param,
608 const char* a_value_param,
616 return result_.increment_death_test_count();
635 const std::unique_ptr<const ::std::string> type_param_;
638 const std::unique_ptr<const ::std::string> value_param_;
643 bool matches_filter_;
645 bool is_in_another_shard_;
686 if (type_param_.get() !=
nullptr)
return type_param_->c_str();
694 int successful_test_count()
const;
697 int skipped_test_count()
const;
700 int failed_test_count()
const;
703 int reportable_disabled_test_count()
const;
706 int disabled_test_count()
const;
709 int reportable_test_count()
const;
712 int test_to_run_count()
const;
715 int total_test_count()
const;
718 bool Passed()
const {
return !Failed(); }
722 return failed_test_count() > 0 || ad_hoc_test_result().Failed();
734 const TestInfo* GetTestInfo(
int i)
const;
749 return test_info_list_;
754 TestInfo* GetMutableTestInfo(
int i);
761 void AddTestInfo(
TestInfo * test_info);
780 if (set_up_tc_ !=
nullptr) {
788 if (tear_down_tc_ !=
nullptr) {
833 void UnshuffleTests();
839 const std::unique_ptr<const ::std::string> type_param_;
842 std::vector<TestInfo*> test_info_list_;
846 std::vector<int> test_indices_;
892 struct Setup_should_be_spelled_SetUp {};
896 #if GTEST_HAS_EXCEPTIONS
900 :
public internal::GoogleTestFailureException {
902 explicit AssertionException(
const TestPartResult&
result)
903 : GoogleTestFailureException(
result) {}
906 #endif // GTEST_HAS_EXCEPTIONS
910 class TestEventListener {
933 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
935 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
955 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
957 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
978 class EmptyTestEventListener :
public TestEventListener {
987 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
989 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
996 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
998 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1010 TestEventListeners();
1011 ~TestEventListeners();
1016 void Append(TestEventListener* listener);
1021 TestEventListener* Release(TestEventListener* listener);
1029 return default_result_printer_;
1040 return default_xml_generator_;
1047 friend class internal::NoExecDeathTest;
1071 bool EventForwardingEnabled()
const;
1072 void SuppressEventForwarding();
1100 static UnitTest* GetInstance();
1119 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1125 const TestInfo* current_test_info()
const
1129 int random_seed()
const;
1135 internal::ParameterizedTestSuiteRegistry& parameterized_test_registry()
1139 int successful_test_suite_count()
const;
1142 int failed_test_suite_count()
const;
1145 int total_test_suite_count()
const;
1149 int test_suite_to_run_count()
const;
1152 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1153 int successful_test_case_count()
const;
1154 int failed_test_case_count()
const;
1155 int total_test_case_count()
const;
1156 int test_case_to_run_count()
const;
1157 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1160 int successful_test_count()
const;
1163 int skipped_test_count()
const;
1166 int failed_test_count()
const;
1169 int reportable_disabled_test_count()
const;
1172 int disabled_test_count()
const;
1175 int reportable_test_count()
const;
1178 int total_test_count()
const;
1181 int test_to_run_count()
const;
1192 bool Passed()
const;
1196 bool Failed()
const;
1200 const TestSuite* GetTestSuite(
int i)
const;
1203 #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1204 const TestCase* GetTestCase(
int i)
const;
1205 #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1209 const TestResult& ad_hoc_test_result()
const;
1213 TestEventListeners& listeners();
1225 Environment* AddEnvironment(Environment*
env);
1232 const char* file_name,
1258 friend class internal::StreamingListenerTest;
1279 void PopGTestTrace()
1342 template <
typename T1,
typename T2>
1344 const char* rhs_expression,
1345 const T1& lhs,
const T2& rhs) {
1357 inline bool operator==(faketype, faketype) {
return true; }
1358 inline bool operator!=(faketype, faketype) {
return false; }
1361 template <
typename T1,
typename T2>
1362 AssertionResult
CmpHelperEQ(
const char* lhs_expression,
1363 const char* rhs_expression,
1377 typename T1,
typename T2,
1383 const char* rhs_expression,
const T1& lhs,
1385 return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1395 const char* rhs_expression,
1398 return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1401 template <
typename T>
1403 const char* lhs_expression,
const char* rhs_expression,
1405 std::nullptr_t ,
T* rhs) {
1407 return CmpHelperEQ(lhs_expression, rhs_expression,
static_cast<T*
>(
nullptr),
1415 template <
typename T1,
typename T2>
1420 <<
"Expected: (" << expr1 <<
") " <<
op <<
" (" << expr2
1431 #define GTEST_IMPL_CMP_HELPER_(op_name, op)\
1432 template <typename T1, typename T2>\
1433 AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \
1434 const T1& val1, const T2& val2) {\
1435 if (val1 op val2) {\
1436 return AssertionSuccess();\
1438 return CmpHelperOpFailure(expr1, expr2, val1, val2, #op);\
1455 #undef GTEST_IMPL_CMP_HELPER_
1461 const char* s2_expression,
1469 const char* s2_expression,
1477 const char* s2_expression,
1485 const char* s2_expression,
1494 const char* s2_expression,
1502 const char* s2_expression,
1517 const char* needle_expr,
const char* haystack_expr,
1518 const char* needle,
const char* haystack);
1520 const char* needle_expr,
const char* haystack_expr,
1521 const wchar_t* needle,
const wchar_t* haystack);
1523 const char* needle_expr,
const char* haystack_expr,
1524 const char* needle,
const char* haystack);
1526 const char* needle_expr,
const char* haystack_expr,
1527 const wchar_t* needle,
const wchar_t* haystack);
1529 const char* needle_expr,
const char* haystack_expr,
1532 const char* needle_expr,
const char* haystack_expr,
1535 #if GTEST_HAS_STD_WSTRING
1537 const char* needle_expr,
const char* haystack_expr,
1540 const char* needle_expr,
const char* haystack_expr,
1542 #endif // GTEST_HAS_STD_WSTRING
1553 template <
typename RawType>
1555 const char* rhs_expression,
1557 RawType rhs_value) {
1558 const FloatingPoint<RawType> lhs(lhs_value), rhs(rhs_value);
1560 if (lhs.AlmostEquals(rhs)) {
1564 ::std::stringstream lhs_ss;
1565 lhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
1568 ::std::stringstream rhs_ss;
1569 rhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
1584 const char* abs_error_expr,
1609 struct AssertHelperData {
1611 const char* srcfile,
1617 const char*
const file;
1625 AssertHelperData*
const data_;
1666 template <
typename T>
1667 class WithParamInterface {
1676 <<
"GetParam() can only be called inside a value-parameterized test "
1677 <<
"-- did you intend to write TEST_P instead of TEST_F?";
1695 template <
typename T>
1701 template <
typename T>
1710 #define GTEST_SKIP() GTEST_SKIP_("")
1730 #define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed")
1734 #define ADD_FAILURE_AT(file, line) \
1735 GTEST_MESSAGE_AT_(file, line, "Failed", \
1736 ::testing::TestPartResult::kNonFatalFailure)
1739 #define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed")
1742 #define GTEST_FAIL_AT(file, line) \
1743 GTEST_MESSAGE_AT_(file, line, "Failed", \
1744 ::testing::TestPartResult::kFatalFailure)
1748 #if !GTEST_DONT_DEFINE_FAIL
1749 # define FAIL() GTEST_FAIL()
1753 #define GTEST_SUCCEED() GTEST_SUCCESS_("Succeeded")
1757 #if !GTEST_DONT_DEFINE_SUCCEED
1758 # define SUCCEED() GTEST_SUCCEED()
1770 #define EXPECT_THROW(statement, expected_exception) \
1771 GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_)
1772 #define EXPECT_NO_THROW(statement) \
1773 GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
1774 #define EXPECT_ANY_THROW(statement) \
1775 GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_)
1776 #define ASSERT_THROW(statement, expected_exception) \
1777 GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_)
1778 #define ASSERT_NO_THROW(statement) \
1779 GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_)
1780 #define ASSERT_ANY_THROW(statement) \
1781 GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_)
1786 #define GTEST_EXPECT_TRUE(condition) \
1787 GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
1788 GTEST_NONFATAL_FAILURE_)
1789 #define GTEST_EXPECT_FALSE(condition) \
1790 GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
1791 GTEST_NONFATAL_FAILURE_)
1792 #define GTEST_ASSERT_TRUE(condition) \
1793 GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
1794 GTEST_FATAL_FAILURE_)
1795 #define GTEST_ASSERT_FALSE(condition) \
1796 GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
1797 GTEST_FATAL_FAILURE_)
1802 #if !GTEST_DONT_DEFINE_EXPECT_TRUE
1803 #define EXPECT_TRUE(condition) GTEST_EXPECT_TRUE(condition)
1806 #if !GTEST_DONT_DEFINE_EXPECT_FALSE
1807 #define EXPECT_FALSE(condition) GTEST_EXPECT_FALSE(condition)
1810 #if !GTEST_DONT_DEFINE_ASSERT_TRUE
1811 #define ASSERT_TRUE(condition) GTEST_ASSERT_TRUE(condition)
1814 #if !GTEST_DONT_DEFINE_ASSERT_FALSE
1815 #define ASSERT_FALSE(condition) GTEST_ASSERT_FALSE(condition)
1864 #define EXPECT_EQ(val1, val2) \
1865 EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
1866 #define EXPECT_NE(val1, val2) \
1867 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
1868 #define EXPECT_LE(val1, val2) \
1869 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
1870 #define EXPECT_LT(val1, val2) \
1871 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
1872 #define EXPECT_GE(val1, val2) \
1873 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
1874 #define EXPECT_GT(val1, val2) \
1875 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
1877 #define GTEST_ASSERT_EQ(val1, val2) \
1878 ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
1879 #define GTEST_ASSERT_NE(val1, val2) \
1880 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
1881 #define GTEST_ASSERT_LE(val1, val2) \
1882 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
1883 #define GTEST_ASSERT_LT(val1, val2) \
1884 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
1885 #define GTEST_ASSERT_GE(val1, val2) \
1886 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
1887 #define GTEST_ASSERT_GT(val1, val2) \
1888 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
1893 #if !GTEST_DONT_DEFINE_ASSERT_EQ
1894 # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
1897 #if !GTEST_DONT_DEFINE_ASSERT_NE
1898 # define ASSERT_NE(val1, val2) GTEST_ASSERT_NE(val1, val2)
1901 #if !GTEST_DONT_DEFINE_ASSERT_LE
1902 # define ASSERT_LE(val1, val2) GTEST_ASSERT_LE(val1, val2)
1905 #if !GTEST_DONT_DEFINE_ASSERT_LT
1906 # define ASSERT_LT(val1, val2) GTEST_ASSERT_LT(val1, val2)
1909 #if !GTEST_DONT_DEFINE_ASSERT_GE
1910 # define ASSERT_GE(val1, val2) GTEST_ASSERT_GE(val1, val2)
1913 #if !GTEST_DONT_DEFINE_ASSERT_GT
1914 # define ASSERT_GT(val1, val2) GTEST_ASSERT_GT(val1, val2)
1933 #define EXPECT_STREQ(s1, s2) \
1934 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
1935 #define EXPECT_STRNE(s1, s2) \
1936 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
1937 #define EXPECT_STRCASEEQ(s1, s2) \
1938 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
1939 #define EXPECT_STRCASENE(s1, s2)\
1940 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
1942 #define ASSERT_STREQ(s1, s2) \
1943 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
1944 #define ASSERT_STRNE(s1, s2) \
1945 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
1946 #define ASSERT_STRCASEEQ(s1, s2) \
1947 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
1948 #define ASSERT_STRCASENE(s1, s2)\
1949 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
1965 #define EXPECT_FLOAT_EQ(val1, val2)\
1966 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
1969 #define EXPECT_DOUBLE_EQ(val1, val2)\
1970 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
1973 #define ASSERT_FLOAT_EQ(val1, val2)\
1974 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
1977 #define ASSERT_DOUBLE_EQ(val1, val2)\
1978 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
1981 #define EXPECT_NEAR(val1, val2, abs_error)\
1982 EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
1983 val1, val2, abs_error)
1985 #define ASSERT_NEAR(val1, val2, abs_error)\
1986 ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
1987 val1, val2, abs_error)
2002 #if GTEST_OS_WINDOWS
2013 # define EXPECT_HRESULT_SUCCEEDED(expr) \
2014 EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr))
2016 # define ASSERT_HRESULT_SUCCEEDED(expr) \
2017 ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr))
2019 # define EXPECT_HRESULT_FAILED(expr) \
2020 EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr))
2022 # define ASSERT_HRESULT_FAILED(expr) \
2023 ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr))
2025 #endif // GTEST_OS_WINDOWS
2037 #define ASSERT_NO_FATAL_FAILURE(statement) \
2038 GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_)
2039 #define EXPECT_NO_FATAL_FAILURE(statement) \
2040 GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_)
2059 template <
typename T>
2102 #define SCOPED_TRACE(message) \
2103 ::testing::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\
2104 __FILE__, __LINE__, (message))
2136 template <
typename T1,
typename T2>
2167 #define GTEST_TEST(test_suite_name, test_name) \
2168 GTEST_TEST_(test_suite_name, test_name, ::testing::Test, \
2169 ::testing::internal::GetTestTypeId())
2173 #if !GTEST_DONT_DEFINE_TEST
2174 #define TEST(test_suite_name, test_name) GTEST_TEST(test_suite_name, test_name)
2202 #define GTEST_TEST_F(test_fixture, test_name)\
2203 GTEST_TEST_(test_fixture, test_name, test_fixture, \
2204 ::testing::internal::GetTypeId<test_fixture>())
2205 #if !GTEST_DONT_DEFINE_TEST_F
2206 #define TEST_F(test_fixture, test_name) GTEST_TEST_F(test_fixture, test_name)
2214 # pragma warning(pop)
2275 template <
int&... ExplicitParameterBarrier,
typename Factory>
2276 TestInfo*
RegisterTest(
const char* test_suite_name,
const char* test_name,
2277 const char* type_param,
const char* value_param,
2278 const char*
file,
int line, Factory factory) {
2279 using TestT =
typename std::remove_pointer<decltype(factory())>
::type;
2281 class FactoryImpl :
public internal::TestFactoryBase {
2283 explicit FactoryImpl(Factory f) : factory_(
std::
move(f)) {}
2284 Test* CreateTest()
override {
return factory_(); }
2291 test_suite_name, test_name, type_param, value_param,
2292 internal::CodeLocation(
file,
line), internal::GetTypeId<TestT>(),
2311 return ::testing::UnitTest::GetInstance()->Run();
2316 #endif // GOOGLETEST_INCLUDE_GTEST_GTEST_H_
GTEST_DECLARE_string_(color)
GTEST_API_ AssertionResult CmpHelperSTRCASENE(const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
AssertionResult AssertionFailure()
virtual void OnTestDisabled(const TestInfo &)
GTEST_API_ std::string TempDir()
void Test(StringPiece pattern, const RE2::Options &options, StringPiece text)
const std::vector< TestProperty > & test_properties() const
bool operator==(const BaseSlice &a, const BaseSlice &b)
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs)
void OnTestEnd(const TestInfo &) override
const grpc_generator::File * file
static bool TestDisabled(const TestInfo *test_info)
virtual void OnEnvironmentsTearDownEnd(const UnitTest &unit_test)=0
TestEventListener * default_xml_generator() const
GTEST_API_ AssertionResult CmpHelperSTREQ(const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
void OnTestCaseStart(const TestCase &) override
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
virtual void OnTestCaseEnd(const TestCase &)
internal::UnitTestImpl * impl()
#define GTEST_MUST_USE_RESULT_
void(*)() TearDownTestSuiteFunc
void set_start_timestamp(TimeInMillis start)
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, BiggestInt lhs, BiggestInt rhs)
virtual void OnTestSuiteEnd(const TestSuite &)
UnitTestImpl * GetUnitTestImpl()
std::string FormatForComparisonFailureMessage(const T1 &value, const T2 &)
const typedef void * TypeId
static void SetUpTestSuite()
void OnTestCaseEnd(const TestCase &) override
AssertionResult CmpHelperEQ(const char *lhs_expression, const char *rhs_expression, const T1 &lhs, const T2 &rhs)
void OnTestProgramEnd(const UnitTest &) override
GRPC_CUSTOM_MESSAGE Message
void OnTestProgramStart(const UnitTest &) override
static void Append(State *state, const char *const str, const int length)
virtual void OnTestEnd(const TestInfo &test_info)=0
const std::vector< TestInfo * > & test_info_list() const
static void SetParam(const ParamType *parameter)
void OnTestSuiteEnd(const TestSuite &) override
void SetValue(const std::string &new_value)
const char * test_case_name() const
void OnTestIterationStart(const UnitTest &, int) override
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251) GTEST_DECLARE_bool_(also_run_disabled_tests)
static void SetUpTestCase()
const char * type_param() const
bool is_in_another_shard() const
std::set< std::string > * GetIgnoredParameterizedTestSuites()
int increment_death_test_count()
bool is_reportable() const
static void ClearTestResult(TestInfo *test_info)
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)
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)
Environment * AddGlobalTestEnvironment(Environment *env)
virtual void OnTestPartResult(const TestPartResult &test_part_result)=0
const char * type_param() const
const std::vector< TestPartResult > & test_part_results() const
GTEST_API_ AssertionResult CmpHelperSTRCASEEQ(const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
void set_elapsed_time(TimeInMillis elapsed)
const char * file() const
TimeInMillis start_timestamp() const
void OnTestPartResult(const TestPartResult &) override
ScopedTrace(const char *file, int line, const T &message)
const internal::UnitTestImpl * impl() const
#define GTEST_IMPL_CMP_HELPER_(op_name, op)
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 SetUpTearDownSuiteFuncType GetSetUpCaseOrSuite()
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
static bool TestPassed(const TestInfo *test_info)
virtual void OnTestProgramStart(const UnitTest &unit_test)=0
std::shared_ptr< ExternalConnectionAcceptorImpl > impl_
void OnEnvironmentsTearDownStart(const UnitTest &) override
ScopedTrace(const char *file, int line, const std::string &message)
const typedef int * result_type
GTEST_DECLARE_bool_(break_on_failure)
void OnTestSuiteStart(const TestSuite &) override
static bool TestSkipped(const TestInfo *test_info)
bool operator!=(const Bytes &a, const Bytes &b)
internal::TimeInMillis TimeInMillis
void OnTestDisabled(const TestInfo &) override
#define GTEST_LOCK_EXCLUDED_(locks)
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)
GTEST_DECLARE_int32_(random_seed)
GTEST_API_ AssertionResult CmpHelperSTRNE(const char *s1_expression, const char *s2_expression, const char *s1, const char *s2)
ScopedTrace(const char *file, int line, const char *message)
std::vector< TestInfo * > & test_info_list()
AssertionResult CmpHelperOpFailure(const char *expr1, const char *expr2, const T1 &val1, const T2 &val2, const char *op)
const TestResult * result() const
virtual ~TestEventListener()
const char * name() const
#define GTEST_DISALLOW_COPY_AND_ASSIGN_(type)
static bool TestReportableDisabled(const TestInfo *test_info)
virtual void OnEnvironmentsTearDownStart(const UnitTest &unit_test)=0
void OnEnvironmentsSetUpStart(const UnitTest &) override
static PerThreadSynch * Skip(PerThreadSynch *x)
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 int kMaxStackTraceDepth
const char * value_param() const
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
static bool GetString(std::string *out, CBS *cbs)
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 &)
#define GTEST_CHECK_(condition)
int increment_death_test_count()
static void TearDownTestSuite()
static void TearDownTestCase()
const char * name() const
virtual ~WithParamInterface()
TestProperty(const std::string &a_key, const std::string &a_value)
TestEventListener * default_result_printer() const
Environment * AddEnvironment(Environment *env)
static AssertionResult Compare(const char *lhs_expression, const char *rhs_expression, std::nullptr_t, T *rhs)
void(*)() SetUpTestSuiteFunc
TimeInMillis start_timestamp() const
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
static const ParamType & GetParam()
GTEST_API_ AssertionResult IsNotSubstring(const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
static UnitTest * GetInstance()
void OnTestIterationEnd(const UnitTest &, int) override
#define GTEST_DISABLE_MSC_WARNINGS_POP_()
TypeWithSize< 8 >::Int TimeInMillis
virtual void OnTestIterationStart(const UnitTest &unit_test, int iteration)=0
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
internal::WrappedMutex mutex_
const char * value() const
static bool ShouldRunTest(const TestInfo *test_info)
static SetUpTearDownSuiteFuncType GetTearDownCaseOrSuite()
const char * test_suite_name() const
internal::Mutex test_properties_mutex_
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)
static bool TestFailed(const TestInfo *test_info)
void ReportFailureInUnknownLocation(TestPartResult::Type result_type, const std::string &message)
virtual Setup_should_be_spelled_SetUp * Setup()
virtual void OnTestSuiteStart(const TestSuite &)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:54