mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-08-05 09:28:40 +02:00
ThirdParty: Update included gtest
This commit is contained in:
+119
-82
@@ -49,8 +49,8 @@
|
||||
|
||||
// GOOGLETEST_CM0001 DO NOT DELETE
|
||||
|
||||
#ifndef GTEST_INCLUDE_GTEST_GTEST_H_
|
||||
#define GTEST_INCLUDE_GTEST_GTEST_H_
|
||||
#ifndef GOOGLETEST_INCLUDE_GTEST_GTEST_H_
|
||||
#define GOOGLETEST_INCLUDE_GTEST_GTEST_H_
|
||||
|
||||
#include <cstddef>
|
||||
#include <limits>
|
||||
@@ -101,6 +101,10 @@ GTEST_DECLARE_bool_(catch_exceptions);
|
||||
// to let Google Test decide.
|
||||
GTEST_DECLARE_string_(color);
|
||||
|
||||
// This flag controls whether the test runner should continue execution past
|
||||
// first failure.
|
||||
GTEST_DECLARE_bool_(fail_fast);
|
||||
|
||||
// This flag sets up the filter to select by name using a glob pattern
|
||||
// the tests to run. If the filter is not given all tests are executed.
|
||||
GTEST_DECLARE_string_(filter);
|
||||
@@ -117,6 +121,9 @@ GTEST_DECLARE_bool_(list_tests);
|
||||
// in addition to its normal textual output.
|
||||
GTEST_DECLARE_string_(output);
|
||||
|
||||
// This flags control whether Google Test prints only test failures.
|
||||
GTEST_DECLARE_bool_(brief);
|
||||
|
||||
// This flags control whether Google Test prints the elapsed time for each
|
||||
// test.
|
||||
GTEST_DECLARE_bool_(print_time);
|
||||
@@ -177,6 +184,7 @@ class FuchsiaDeathTest;
|
||||
class UnitTestImpl* GetUnitTestImpl();
|
||||
void ReportFailureInUnknownLocation(TestPartResult::Type result_type,
|
||||
const std::string& message);
|
||||
std::set<std::string>* GetIgnoredParameterizedTestSuites();
|
||||
|
||||
} // namespace internal
|
||||
|
||||
@@ -278,7 +286,11 @@ class GTEST_API_ AssertionResult {
|
||||
// Used in EXPECT_TRUE/FALSE(assertion_result).
|
||||
AssertionResult(const AssertionResult& other);
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1910
|
||||
// C4800 is a level 3 warning in Visual Studio 2015 and earlier.
|
||||
// This warning is not emitted in Visual Studio 2017.
|
||||
// This warning is off by default starting in Visual Studio 2019 but can be
|
||||
// enabled with command-line options.
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1910 || _MSC_VER >= 1920)
|
||||
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4800 /* forcing value to bool */)
|
||||
#endif
|
||||
|
||||
@@ -292,13 +304,13 @@ class GTEST_API_ AssertionResult {
|
||||
template <typename T>
|
||||
explicit AssertionResult(
|
||||
const T& success,
|
||||
typename internal::EnableIf<
|
||||
typename std::enable_if<
|
||||
!std::is_convertible<T, AssertionResult>::value>::type*
|
||||
/*enabler*/
|
||||
= nullptr)
|
||||
: success_(success) {}
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1910
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1910 || _MSC_VER >= 1920)
|
||||
GTEST_DISABLE_MSC_WARNINGS_POP_()
|
||||
#endif
|
||||
|
||||
@@ -308,7 +320,7 @@ class GTEST_API_ AssertionResult {
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Returns true iff the assertion succeeded.
|
||||
// Returns true if and only if the assertion succeeded.
|
||||
operator bool() const { return success_; } // NOLINT
|
||||
|
||||
// Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE.
|
||||
@@ -406,10 +418,10 @@ class GTEST_API_ Test {
|
||||
// The d'tor is virtual as we intend to inherit from Test.
|
||||
virtual ~Test();
|
||||
|
||||
// Sets up the stuff shared by all tests in this test case.
|
||||
// Sets up the stuff shared by all tests in this test suite.
|
||||
//
|
||||
// Google Test will call Foo::SetUpTestSuite() before running the first
|
||||
// test in test case Foo. Hence a sub-class can define its own
|
||||
// test in test suite Foo. Hence a sub-class can define its own
|
||||
// SetUpTestSuite() method to shadow the one defined in the super
|
||||
// class.
|
||||
static void SetUpTestSuite() {}
|
||||
@@ -417,27 +429,28 @@ class GTEST_API_ Test {
|
||||
// Tears down the stuff shared by all tests in this test suite.
|
||||
//
|
||||
// Google Test will call Foo::TearDownTestSuite() after running the last
|
||||
// test in test case Foo. Hence a sub-class can define its own
|
||||
// test in test suite Foo. Hence a sub-class can define its own
|
||||
// TearDownTestSuite() method to shadow the one defined in the super
|
||||
// class.
|
||||
static void TearDownTestSuite() {}
|
||||
|
||||
// Legacy API is deprecated but still available
|
||||
// Legacy API is deprecated but still available. Use SetUpTestSuite and
|
||||
// TearDownTestSuite instead.
|
||||
#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
||||
static void TearDownTestCase() {}
|
||||
static void SetUpTestCase() {}
|
||||
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
||||
|
||||
// Returns true iff the current test has a fatal failure.
|
||||
// Returns true if and only if the current test has a fatal failure.
|
||||
static bool HasFatalFailure();
|
||||
|
||||
// Returns true iff the current test has a non-fatal failure.
|
||||
// Returns true if and only if the current test has a non-fatal failure.
|
||||
static bool HasNonfatalFailure();
|
||||
|
||||
// Returns true iff the current test was skipped.
|
||||
// Returns true if and only if the current test was skipped.
|
||||
static bool IsSkipped();
|
||||
|
||||
// Returns true iff the current test has a (either fatal or
|
||||
// Returns true if and only if the current test has a (either fatal or
|
||||
// non-fatal) failure.
|
||||
static bool HasFailure() { return HasFatalFailure() || HasNonfatalFailure(); }
|
||||
|
||||
@@ -468,8 +481,8 @@ class GTEST_API_ Test {
|
||||
virtual void TearDown();
|
||||
|
||||
private:
|
||||
// Returns true iff the current test has the same fixture class as
|
||||
// the first test in the current test suite.
|
||||
// Returns true if and only if the current test has the same fixture class
|
||||
// as the first test in the current test suite.
|
||||
static bool HasSameFixtureClass();
|
||||
|
||||
// Runs the test after the test fixture has been set up.
|
||||
@@ -570,24 +583,28 @@ class GTEST_API_ TestResult {
|
||||
// Returns the number of the test properties.
|
||||
int test_property_count() const;
|
||||
|
||||
// Returns true iff the test passed (i.e. no test part failed).
|
||||
// Returns true if and only if the test passed (i.e. no test part failed).
|
||||
bool Passed() const { return !Skipped() && !Failed(); }
|
||||
|
||||
// Returns true iff the test was skipped.
|
||||
// Returns true if and only if the test was skipped.
|
||||
bool Skipped() const;
|
||||
|
||||
// Returns true iff the test failed.
|
||||
// Returns true if and only if the test failed.
|
||||
bool Failed() const;
|
||||
|
||||
// Returns true iff the test fatally failed.
|
||||
// Returns true if and only if the test fatally failed.
|
||||
bool HasFatalFailure() const;
|
||||
|
||||
// Returns true iff the test has a non-fatal failure.
|
||||
// Returns true if and only if the test has a non-fatal failure.
|
||||
bool HasNonfatalFailure() const;
|
||||
|
||||
// Returns the elapsed time, in milliseconds.
|
||||
TimeInMillis elapsed_time() const { return elapsed_time_; }
|
||||
|
||||
// Gets the time of the test case start, in ms from the start of the
|
||||
// UNIX epoch.
|
||||
TimeInMillis start_timestamp() const { return start_timestamp_; }
|
||||
|
||||
// Returns the i-th test part result among all the results. i can range from 0
|
||||
// to total_part_count() - 1. If i is not in that range, aborts the program.
|
||||
const TestPartResult& GetTestPartResult(int i) const;
|
||||
@@ -618,6 +635,9 @@ class GTEST_API_ TestResult {
|
||||
return test_properties_;
|
||||
}
|
||||
|
||||
// Sets the start time.
|
||||
void set_start_timestamp(TimeInMillis start) { start_timestamp_ = start; }
|
||||
|
||||
// Sets the elapsed time.
|
||||
void set_elapsed_time(TimeInMillis elapsed) { elapsed_time_ = elapsed; }
|
||||
|
||||
@@ -653,7 +673,7 @@ class GTEST_API_ TestResult {
|
||||
|
||||
// Protects mutable state of the property vector and of owned
|
||||
// properties, whose values may be updated.
|
||||
internal::Mutex test_properites_mutex_;
|
||||
internal::Mutex test_properties_mutex_;
|
||||
|
||||
// The vector of TestPartResults
|
||||
std::vector<TestPartResult> test_part_results_;
|
||||
@@ -661,6 +681,8 @@ class GTEST_API_ TestResult {
|
||||
std::vector<TestProperty> test_properties_;
|
||||
// Running count of death tests.
|
||||
int death_test_count_;
|
||||
// The start time, in milliseconds since UNIX Epoch.
|
||||
TimeInMillis start_timestamp_;
|
||||
// The elapsed time, in milliseconds.
|
||||
TimeInMillis elapsed_time_;
|
||||
|
||||
@@ -737,7 +759,7 @@ class GTEST_API_ TestInfo {
|
||||
// contains the character 'A' or starts with "Foo.".
|
||||
bool should_run() const { return should_run_; }
|
||||
|
||||
// Returns true iff this test will appear in the XML report.
|
||||
// Returns true if and only if this test will appear in the XML report.
|
||||
bool is_reportable() const {
|
||||
// The XML report includes tests matching the filter, excluding those
|
||||
// run in other shards.
|
||||
@@ -781,6 +803,9 @@ class GTEST_API_ TestInfo {
|
||||
// deletes it.
|
||||
void Run();
|
||||
|
||||
// Skip and records the test result for this object.
|
||||
void Skip();
|
||||
|
||||
static void ClearTestResult(TestInfo* test_info) {
|
||||
test_info->result_.Clear();
|
||||
}
|
||||
@@ -795,12 +820,12 @@ class GTEST_API_ TestInfo {
|
||||
// value-parameterized test.
|
||||
const std::unique_ptr<const ::std::string> value_param_;
|
||||
internal::CodeLocation location_;
|
||||
const internal::TypeId fixture_class_id_; // ID of the test fixture class
|
||||
bool should_run_; // True iff this test should run
|
||||
bool is_disabled_; // True iff this test is disabled
|
||||
bool matches_filter_; // True if this test matches the
|
||||
// user-specified filter.
|
||||
bool is_in_another_shard_; // Will be run in another shard.
|
||||
const internal::TypeId fixture_class_id_; // ID of the test fixture class
|
||||
bool should_run_; // True if and only if this test should run
|
||||
bool is_disabled_; // True if and only if this test is disabled
|
||||
bool matches_filter_; // True if this test matches the
|
||||
// user-specified filter.
|
||||
bool is_in_another_shard_; // Will be run in another shard.
|
||||
internal::TestFactoryBase* const factory_; // The factory that creates
|
||||
// the test object
|
||||
|
||||
@@ -872,15 +897,21 @@ class GTEST_API_ TestSuite {
|
||||
// Gets the number of all tests in this test suite.
|
||||
int total_test_count() const;
|
||||
|
||||
// Returns true iff the test suite passed.
|
||||
// Returns true if and only if the test suite passed.
|
||||
bool Passed() const { return !Failed(); }
|
||||
|
||||
// Returns true iff the test suite failed.
|
||||
bool Failed() const { return failed_test_count() > 0; }
|
||||
// Returns true if and only if the test suite failed.
|
||||
bool Failed() const {
|
||||
return failed_test_count() > 0 || ad_hoc_test_result().Failed();
|
||||
}
|
||||
|
||||
// Returns the elapsed time, in milliseconds.
|
||||
TimeInMillis elapsed_time() const { return elapsed_time_; }
|
||||
|
||||
// Gets the time of the test suite start, in ms from the start of the
|
||||
// UNIX epoch.
|
||||
TimeInMillis start_timestamp() const { return start_timestamp_; }
|
||||
|
||||
// Returns the i-th test among all the tests. i can range from 0 to
|
||||
// total_test_count() - 1. If i is not in that range, returns NULL.
|
||||
const TestInfo* GetTestInfo(int i) const;
|
||||
@@ -923,6 +954,9 @@ class GTEST_API_ TestSuite {
|
||||
// Runs every test in this TestSuite.
|
||||
void Run();
|
||||
|
||||
// Skips the execution of tests under this TestSuite
|
||||
void Skip();
|
||||
|
||||
// Runs SetUpTestSuite() for this TestSuite. This wrapper is needed
|
||||
// for catching exceptions thrown from SetUpTestSuite().
|
||||
void RunSetUpTestSuite() {
|
||||
@@ -939,33 +973,33 @@ class GTEST_API_ TestSuite {
|
||||
}
|
||||
}
|
||||
|
||||
// Returns true iff test passed.
|
||||
// Returns true if and only if test passed.
|
||||
static bool TestPassed(const TestInfo* test_info) {
|
||||
return test_info->should_run() && test_info->result()->Passed();
|
||||
}
|
||||
|
||||
// Returns true iff test skipped.
|
||||
// Returns true if and only if test skipped.
|
||||
static bool TestSkipped(const TestInfo* test_info) {
|
||||
return test_info->should_run() && test_info->result()->Skipped();
|
||||
}
|
||||
|
||||
// Returns true iff test failed.
|
||||
// Returns true if and only if test failed.
|
||||
static bool TestFailed(const TestInfo* test_info) {
|
||||
return test_info->should_run() && test_info->result()->Failed();
|
||||
}
|
||||
|
||||
// Returns true iff the test is disabled and will be reported in the XML
|
||||
// report.
|
||||
// Returns true if and only if the test is disabled and will be reported in
|
||||
// the XML report.
|
||||
static bool TestReportableDisabled(const TestInfo* test_info) {
|
||||
return test_info->is_reportable() && test_info->is_disabled_;
|
||||
}
|
||||
|
||||
// Returns true iff test is disabled.
|
||||
// Returns true if and only if test is disabled.
|
||||
static bool TestDisabled(const TestInfo* test_info) {
|
||||
return test_info->is_disabled_;
|
||||
}
|
||||
|
||||
// Returns true iff this test will appear in the XML report.
|
||||
// Returns true if and only if this test will appear in the XML report.
|
||||
static bool TestReportable(const TestInfo* test_info) {
|
||||
return test_info->is_reportable();
|
||||
}
|
||||
@@ -997,8 +1031,10 @@ class GTEST_API_ TestSuite {
|
||||
internal::SetUpTestSuiteFunc set_up_tc_;
|
||||
// Pointer to the function that tears down the test suite.
|
||||
internal::TearDownTestSuiteFunc tear_down_tc_;
|
||||
// True iff any test in this test suite should run.
|
||||
// True if and only if any test in this test suite should run.
|
||||
bool should_run_;
|
||||
// The start time, in milliseconds since UNIX Epoch.
|
||||
TimeInMillis start_timestamp_;
|
||||
// Elapsed time, in milliseconds.
|
||||
TimeInMillis elapsed_time_;
|
||||
// Holds test properties recorded during execution of SetUpTestSuite and
|
||||
@@ -1297,7 +1333,7 @@ class GTEST_API_ UnitTest {
|
||||
int failed_test_case_count() const;
|
||||
int total_test_case_count() const;
|
||||
int test_case_to_run_count() const;
|
||||
#endif // EMOVE_LEGACY_TEST_CASEAPI
|
||||
#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
|
||||
|
||||
// Gets the number of successful tests.
|
||||
int successful_test_count() const;
|
||||
@@ -1330,11 +1366,12 @@ class GTEST_API_ UnitTest {
|
||||
// Gets the elapsed time, in milliseconds.
|
||||
TimeInMillis elapsed_time() const;
|
||||
|
||||
// Returns true iff the unit test passed (i.e. all test suites passed).
|
||||
// Returns true if and only if the unit test passed (i.e. all test suites
|
||||
// passed).
|
||||
bool Passed() const;
|
||||
|
||||
// Returns true iff the unit test failed (i.e. some test suite failed
|
||||
// or something outside of all tests failed).
|
||||
// Returns true if and only if the unit test failed (i.e. some test suite
|
||||
// failed or something outside of all tests failed).
|
||||
bool Failed() const;
|
||||
|
||||
// Gets the i-th test suite among all the test suites. i can range from 0 to
|
||||
@@ -1400,6 +1437,7 @@ class GTEST_API_ UnitTest {
|
||||
friend class internal::StreamingListenerTest;
|
||||
friend class internal::UnitTestRecordPropertyTestHelper;
|
||||
friend Environment* AddGlobalTestEnvironment(Environment* env);
|
||||
friend std::set<std::string>* internal::GetIgnoredParameterizedTestSuites();
|
||||
friend internal::UnitTestImpl* internal::GetUnitTestImpl();
|
||||
friend void internal::ReportFailureInUnknownLocation(
|
||||
TestPartResult::Type result_type,
|
||||
@@ -1511,14 +1549,6 @@ AssertionResult CmpHelperEQ(const char* lhs_expression,
|
||||
return CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
|
||||
}
|
||||
|
||||
// With this overloaded version, we allow anonymous enums to be used
|
||||
// in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous enums
|
||||
// can be implicitly cast to BiggestInt.
|
||||
GTEST_API_ AssertionResult CmpHelperEQ(const char* lhs_expression,
|
||||
const char* rhs_expression,
|
||||
BiggestInt lhs,
|
||||
BiggestInt rhs);
|
||||
|
||||
class EqHelper {
|
||||
public:
|
||||
// This templatized version is for the general case.
|
||||
@@ -1575,11 +1605,6 @@ AssertionResult CmpHelperOpFailure(const char* expr1, const char* expr2,
|
||||
// ASSERT_?? and EXPECT_??. It is here just to avoid copy-and-paste
|
||||
// of similar code.
|
||||
//
|
||||
// For each templatized helper function, we also define an overloaded
|
||||
// version for BiggestInt in order to reduce code bloat and allow
|
||||
// anonymous enums to be used with {ASSERT|EXPECT}_?? when compiled
|
||||
// with gcc 4.
|
||||
//
|
||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
|
||||
|
||||
#define GTEST_IMPL_CMP_HELPER_(op_name, op)\
|
||||
@@ -1591,22 +1616,20 @@ AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \
|
||||
} else {\
|
||||
return CmpHelperOpFailure(expr1, expr2, val1, val2, #op);\
|
||||
}\
|
||||
}\
|
||||
GTEST_API_ AssertionResult CmpHelper##op_name(\
|
||||
const char* expr1, const char* expr2, BiggestInt val1, BiggestInt val2)
|
||||
}
|
||||
|
||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
|
||||
|
||||
// Implements the helper function for {ASSERT|EXPECT}_NE
|
||||
GTEST_IMPL_CMP_HELPER_(NE, !=);
|
||||
GTEST_IMPL_CMP_HELPER_(NE, !=)
|
||||
// Implements the helper function for {ASSERT|EXPECT}_LE
|
||||
GTEST_IMPL_CMP_HELPER_(LE, <=);
|
||||
GTEST_IMPL_CMP_HELPER_(LE, <=)
|
||||
// Implements the helper function for {ASSERT|EXPECT}_LT
|
||||
GTEST_IMPL_CMP_HELPER_(LT, <);
|
||||
GTEST_IMPL_CMP_HELPER_(LT, <)
|
||||
// Implements the helper function for {ASSERT|EXPECT}_GE
|
||||
GTEST_IMPL_CMP_HELPER_(GE, >=);
|
||||
GTEST_IMPL_CMP_HELPER_(GE, >=)
|
||||
// Implements the helper function for {ASSERT|EXPECT}_GT
|
||||
GTEST_IMPL_CMP_HELPER_(GT, >);
|
||||
GTEST_IMPL_CMP_HELPER_(GT, >)
|
||||
|
||||
#undef GTEST_IMPL_CMP_HELPER_
|
||||
|
||||
@@ -1783,12 +1806,6 @@ class GTEST_API_ AssertHelper {
|
||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelper);
|
||||
};
|
||||
|
||||
enum GTestColor { COLOR_DEFAULT, COLOR_RED, COLOR_GREEN, COLOR_YELLOW };
|
||||
|
||||
GTEST_API_ GTEST_ATTRIBUTE_PRINTF_(2, 3) void ColoredPrintf(GTestColor color,
|
||||
const char* fmt,
|
||||
...);
|
||||
|
||||
} // namespace internal
|
||||
|
||||
// The pure interface class that all value-parameterized tests inherit from.
|
||||
@@ -1869,7 +1886,7 @@ class TestWithParam : public Test, public WithParamInterface<T> {
|
||||
// Skips test in runtime.
|
||||
// Skipping test aborts current function.
|
||||
// Skipped tests are neither successful nor failed.
|
||||
#define GTEST_SKIP() GTEST_SKIP_("Skipped")
|
||||
#define GTEST_SKIP() GTEST_SKIP_("")
|
||||
|
||||
// ADD_FAILURE unconditionally adds a failure to the current test.
|
||||
// SUCCEED generates a success - it doesn't automatically make the
|
||||
@@ -1945,19 +1962,38 @@ class TestWithParam : public Test, public WithParamInterface<T> {
|
||||
// Boolean assertions. Condition can be either a Boolean expression or an
|
||||
// AssertionResult. For more information on how to use AssertionResult with
|
||||
// these macros see comments on that class.
|
||||
#define EXPECT_TRUE(condition) \
|
||||
#define GTEST_EXPECT_TRUE(condition) \
|
||||
GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
|
||||
GTEST_NONFATAL_FAILURE_)
|
||||
#define EXPECT_FALSE(condition) \
|
||||
#define GTEST_EXPECT_FALSE(condition) \
|
||||
GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
|
||||
GTEST_NONFATAL_FAILURE_)
|
||||
#define ASSERT_TRUE(condition) \
|
||||
#define GTEST_ASSERT_TRUE(condition) \
|
||||
GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
|
||||
GTEST_FATAL_FAILURE_)
|
||||
#define ASSERT_FALSE(condition) \
|
||||
#define GTEST_ASSERT_FALSE(condition) \
|
||||
GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
|
||||
GTEST_FATAL_FAILURE_)
|
||||
|
||||
// Define these macros to 1 to omit the definition of the corresponding
|
||||
// EXPECT or ASSERT, which clashes with some users' own code.
|
||||
|
||||
#if !GTEST_DONT_DEFINE_EXPECT_TRUE
|
||||
#define EXPECT_TRUE(condition) GTEST_EXPECT_TRUE(condition)
|
||||
#endif
|
||||
|
||||
#if !GTEST_DONT_DEFINE_EXPECT_FALSE
|
||||
#define EXPECT_FALSE(condition) GTEST_EXPECT_FALSE(condition)
|
||||
#endif
|
||||
|
||||
#if !GTEST_DONT_DEFINE_ASSERT_TRUE
|
||||
#define ASSERT_TRUE(condition) GTEST_ASSERT_TRUE(condition)
|
||||
#endif
|
||||
|
||||
#if !GTEST_DONT_DEFINE_ASSERT_FALSE
|
||||
#define ASSERT_FALSE(condition) GTEST_ASSERT_FALSE(condition)
|
||||
#endif
|
||||
|
||||
// Macros for testing equalities and inequalities.
|
||||
//
|
||||
// * {ASSERT|EXPECT}_EQ(v1, v2): Tests that v1 == v2
|
||||
@@ -2246,10 +2282,9 @@ class GTEST_API_ ScopedTrace {
|
||||
::testing::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\
|
||||
__FILE__, __LINE__, (message))
|
||||
|
||||
|
||||
// Compile-time assertion for type equality.
|
||||
// StaticAssertTypeEq<type1, type2>() compiles iff type1 and type2 are
|
||||
// the same type. The value it returns is not interesting.
|
||||
// StaticAssertTypeEq<type1, type2>() compiles if and only if type1 and type2
|
||||
// are the same type. The value it returns is not interesting.
|
||||
//
|
||||
// Instead of making StaticAssertTypeEq a class template, we make it a
|
||||
// function template that invokes a helper class template. This
|
||||
@@ -2278,8 +2313,8 @@ class GTEST_API_ ScopedTrace {
|
||||
//
|
||||
// to cause a compiler error.
|
||||
template <typename T1, typename T2>
|
||||
bool StaticAssertTypeEq() {
|
||||
(void)internal::StaticAssertTypeEqHelper<T1, T2>();
|
||||
constexpr bool StaticAssertTypeEq() noexcept {
|
||||
static_assert(std::is_same<T1, T2>::value, "T1 and T2 are not the same type");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2345,9 +2380,11 @@ bool StaticAssertTypeEq() {
|
||||
// }
|
||||
//
|
||||
// GOOGLETEST_CM0011 DO NOT DELETE
|
||||
#if !GTEST_DONT_DEFINE_TEST
|
||||
#define TEST_F(test_fixture, test_name)\
|
||||
GTEST_TEST_(test_fixture, test_name, test_fixture, \
|
||||
::testing::internal::GetTypeId<test_fixture>())
|
||||
#endif // !GTEST_DONT_DEFINE_TEST
|
||||
|
||||
// Returns a path to temporary directory.
|
||||
// Tries to determine an appropriate directory for the platform.
|
||||
@@ -2455,4 +2492,4 @@ inline int RUN_ALL_TESTS() {
|
||||
|
||||
GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251
|
||||
|
||||
#endif // GTEST_INCLUDE_GTEST_GTEST_H_
|
||||
#endif // GOOGLETEST_INCLUDE_GTEST_GTEST_H_
|
||||
|
||||
Reference in New Issue
Block a user