misc: Revert formatting changes.
This commit is contained in:
		@@ -57,16 +57,16 @@
 | 
			
		||||
#include <ostream>
 | 
			
		||||
#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_prod.h"
 | 
			
		||||
#include "gtest/internal/gtest-internal.h"
 | 
			
		||||
#include "gtest/internal/gtest-string.h"
 | 
			
		||||
 | 
			
		||||
GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \
 | 
			
		||||
/* class A needs to have dll-interface to be used by clients of class B */)
 | 
			
		||||
@@ -96,6 +96,7 @@ namespace testing {
 | 
			
		||||
# pragma warning(disable:4100)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Declares the flags.
 | 
			
		||||
 | 
			
		||||
// This flag temporary enables the disabled tests.
 | 
			
		||||
@@ -337,8 +338,7 @@ class GTEST_API_ AssertionResult {
 | 
			
		||||
  const char* failure_message() const { return message(); }
 | 
			
		||||
 | 
			
		||||
  // Streams a custom failure message into this object.
 | 
			
		||||
  template <typename T>
 | 
			
		||||
  AssertionResult& operator<<(const T& value) {
 | 
			
		||||
  template <typename T> AssertionResult& operator<<(const T& value) {
 | 
			
		||||
    AppendMessage(Message() << value);
 | 
			
		||||
    return *this;
 | 
			
		||||
  }
 | 
			
		||||
@@ -536,17 +536,24 @@ class TestProperty {
 | 
			
		||||
  // C'tor.  TestProperty does NOT have a default constructor.
 | 
			
		||||
  // Always use this constructor (with parameters) to create a
 | 
			
		||||
  // TestProperty object.
 | 
			
		||||
  TestProperty(const std::string& a_key, const std::string& a_value)
 | 
			
		||||
      : key_(a_key), value_(a_value) {}
 | 
			
		||||
  TestProperty(const std::string& a_key, const std::string& a_value) :
 | 
			
		||||
    key_(a_key), value_(a_value) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Gets the user supplied key.
 | 
			
		||||
  const char* key() const { return key_.c_str(); }
 | 
			
		||||
  const char* key() const {
 | 
			
		||||
    return key_.c_str();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Gets the user supplied value.
 | 
			
		||||
  const char* value() const { return value_.c_str(); }
 | 
			
		||||
  const char* value() const {
 | 
			
		||||
    return value_.c_str();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Sets a new value, overriding the one supplied in the constructor.
 | 
			
		||||
  void SetValue(const std::string& new_value) { value_ = new_value; }
 | 
			
		||||
  void SetValue(const std::string& new_value) {
 | 
			
		||||
    value_ = new_value;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 private:
 | 
			
		||||
  // The key supplied by the user.
 | 
			
		||||
@@ -1039,7 +1046,6 @@ class Environment {
 | 
			
		||||
 | 
			
		||||
  // Override this to define how to tear down the environment.
 | 
			
		||||
  virtual void TearDown() {}
 | 
			
		||||
 | 
			
		||||
 private:
 | 
			
		||||
  // If you see an error about overriding the following function or
 | 
			
		||||
  // about it being private, you have mis-spelled SetUp() as Setup().
 | 
			
		||||
@@ -1114,7 +1120,8 @@ class TestEventListener {
 | 
			
		||||
  virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) = 0;
 | 
			
		||||
 | 
			
		||||
  // Fired after each iteration of tests finishes.
 | 
			
		||||
  virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration) = 0;
 | 
			
		||||
  virtual void OnTestIterationEnd(const UnitTest& unit_test,
 | 
			
		||||
                                  int iteration) = 0;
 | 
			
		||||
 | 
			
		||||
  // Fired after all test activities have ended.
 | 
			
		||||
  virtual void OnTestProgramEnd(const UnitTest& unit_test) = 0;
 | 
			
		||||
@@ -1271,7 +1278,8 @@ class GTEST_API_ UnitTest {
 | 
			
		||||
 | 
			
		||||
  // Returns the TestInfo object for the test that's currently running,
 | 
			
		||||
  // or NULL if no test is running.
 | 
			
		||||
  const TestInfo* current_test_info() const GTEST_LOCK_EXCLUDED_(mutex_);
 | 
			
		||||
  const TestInfo* current_test_info() const
 | 
			
		||||
      GTEST_LOCK_EXCLUDED_(mutex_);
 | 
			
		||||
 | 
			
		||||
  // Returns the random seed used at the start of the current test run.
 | 
			
		||||
  int random_seed() const;
 | 
			
		||||
@@ -1376,7 +1384,8 @@ class GTEST_API_ UnitTest {
 | 
			
		||||
  // eventually call this to report their results.  The user code
 | 
			
		||||
  // should use the assertion macros instead of calling this directly.
 | 
			
		||||
  void AddTestPartResult(TestPartResult::Type result_type,
 | 
			
		||||
                         const char* file_name, int line_number,
 | 
			
		||||
                         const char* file_name,
 | 
			
		||||
                         int line_number,
 | 
			
		||||
                         const std::string& message,
 | 
			
		||||
                         const std::string& os_stack_trace)
 | 
			
		||||
      GTEST_LOCK_EXCLUDED_(mutex_);
 | 
			
		||||
@@ -1406,7 +1415,8 @@ class GTEST_API_ UnitTest {
 | 
			
		||||
  friend Environment* AddGlobalTestEnvironment(Environment* env);
 | 
			
		||||
  friend internal::UnitTestImpl* internal::GetUnitTestImpl();
 | 
			
		||||
  friend void internal::ReportFailureInUnknownLocation(
 | 
			
		||||
      TestPartResult::Type result_type, const std::string& message);
 | 
			
		||||
      TestPartResult::Type result_type,
 | 
			
		||||
      const std::string& message);
 | 
			
		||||
 | 
			
		||||
  // Creates an empty UnitTest.
 | 
			
		||||
  UnitTest();
 | 
			
		||||
@@ -1420,7 +1430,8 @@ class GTEST_API_ UnitTest {
 | 
			
		||||
      GTEST_LOCK_EXCLUDED_(mutex_);
 | 
			
		||||
 | 
			
		||||
  // Pops a trace from the per-thread Google Test trace stack.
 | 
			
		||||
  void PopGTestTrace() GTEST_LOCK_EXCLUDED_(mutex_);
 | 
			
		||||
  void PopGTestTrace()
 | 
			
		||||
      GTEST_LOCK_EXCLUDED_(mutex_);
 | 
			
		||||
 | 
			
		||||
  // Protects mutable state in *impl_.  This is mutable as some const
 | 
			
		||||
  // methods need to lock it too.
 | 
			
		||||
@@ -1480,11 +1491,13 @@ namespace internal {
 | 
			
		||||
// when calling EXPECT_* in a tight loop.
 | 
			
		||||
template <typename T1, typename T2>
 | 
			
		||||
AssertionResult CmpHelperEQFailure(const char* lhs_expression,
 | 
			
		||||
                                   const char* rhs_expression, const T1& lhs,
 | 
			
		||||
                                   const T2& rhs) {
 | 
			
		||||
  return EqFailure(lhs_expression, rhs_expression,
 | 
			
		||||
                                   const char* rhs_expression,
 | 
			
		||||
                                   const T1& lhs, const T2& rhs) {
 | 
			
		||||
  return EqFailure(lhs_expression,
 | 
			
		||||
                   rhs_expression,
 | 
			
		||||
                   FormatForComparisonFailureMessage(lhs, rhs),
 | 
			
		||||
                   FormatForComparisonFailureMessage(rhs, lhs), false);
 | 
			
		||||
                   FormatForComparisonFailureMessage(rhs, lhs),
 | 
			
		||||
                   false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// This block of code defines operator==/!=
 | 
			
		||||
@@ -1497,7 +1510,8 @@ inline bool operator!=(faketype, faketype) { return false; }
 | 
			
		||||
// The helper function for {ASSERT|EXPECT}_EQ.
 | 
			
		||||
template <typename T1, typename T2>
 | 
			
		||||
AssertionResult CmpHelperEQ(const char* lhs_expression,
 | 
			
		||||
                            const char* rhs_expression, const T1& lhs,
 | 
			
		||||
                            const char* rhs_expression,
 | 
			
		||||
                            const T1& lhs,
 | 
			
		||||
                            const T2& rhs) {
 | 
			
		||||
  if (lhs == rhs) {
 | 
			
		||||
    return AssertionSuccess();
 | 
			
		||||
@@ -1511,7 +1525,8 @@ AssertionResult CmpHelperEQ(const char* lhs_expression,
 | 
			
		||||
// can be implicitly cast to BiggestInt.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperEQ(const char* lhs_expression,
 | 
			
		||||
                                       const char* rhs_expression,
 | 
			
		||||
                                       BiggestInt lhs, BiggestInt rhs);
 | 
			
		||||
                                       BiggestInt lhs,
 | 
			
		||||
                                       BiggestInt rhs);
 | 
			
		||||
 | 
			
		||||
// The helper class for {ASSERT|EXPECT}_EQ.  The template argument
 | 
			
		||||
// lhs_is_null_literal is true iff the first argument to ASSERT_EQ()
 | 
			
		||||
@@ -1523,7 +1538,8 @@ class EqHelper {
 | 
			
		||||
  // This templatized version is for the general case.
 | 
			
		||||
  template <typename T1, typename T2>
 | 
			
		||||
  static AssertionResult Compare(const char* lhs_expression,
 | 
			
		||||
                                 const char* rhs_expression, const T1& lhs,
 | 
			
		||||
                                 const char* rhs_expression,
 | 
			
		||||
                                 const T1& lhs,
 | 
			
		||||
                                 const T2& rhs) {
 | 
			
		||||
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
 | 
			
		||||
  }
 | 
			
		||||
@@ -1535,7 +1551,8 @@ class EqHelper {
 | 
			
		||||
  // Even though its body looks the same as the above version, we
 | 
			
		||||
  // cannot merge the two, as it will make anonymous enums unhappy.
 | 
			
		||||
  static AssertionResult Compare(const char* lhs_expression,
 | 
			
		||||
                                 const char* rhs_expression, BiggestInt lhs,
 | 
			
		||||
                                 const char* rhs_expression,
 | 
			
		||||
                                 BiggestInt lhs,
 | 
			
		||||
                                 BiggestInt rhs) {
 | 
			
		||||
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
 | 
			
		||||
  }
 | 
			
		||||
@@ -1567,14 +1584,16 @@ class EqHelper<true> {
 | 
			
		||||
  // pointer, e.g. ASSERT_EQ(NULL, a_pointer).
 | 
			
		||||
  template <typename T>
 | 
			
		||||
  static AssertionResult Compare(
 | 
			
		||||
      const char* lhs_expression, const char* rhs_expression,
 | 
			
		||||
      const char* lhs_expression,
 | 
			
		||||
      const char* rhs_expression,
 | 
			
		||||
      // We used to have a second template parameter instead of Secret*.  That
 | 
			
		||||
      // template parameter would deduce to 'long', making this a better match
 | 
			
		||||
      // than the first overload even without the first overload's EnableIf.
 | 
			
		||||
      // Unfortunately, gcc with -Wconversion-null warns when "passing NULL to
 | 
			
		||||
      // non-pointer argument" (even a deduced integral argument), so the old
 | 
			
		||||
      // implementation caused warnings in user code.
 | 
			
		||||
      Secret* /* lhs (NULL) */, T* rhs) {
 | 
			
		||||
      Secret* /* lhs (NULL) */,
 | 
			
		||||
      T* rhs) {
 | 
			
		||||
    // We already know that 'lhs' is a null pointer.
 | 
			
		||||
    return CmpHelperEQ(lhs_expression, rhs_expression, static_cast<T*>(nullptr),
 | 
			
		||||
                       rhs);
 | 
			
		||||
@@ -1638,42 +1657,49 @@ GTEST_IMPL_CMP_HELPER_(GT, >);
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperSTREQ(const char* s1_expression,
 | 
			
		||||
                                          const char* s2_expression,
 | 
			
		||||
                                          const char* s1, const char* s2);
 | 
			
		||||
                                          const char* s1,
 | 
			
		||||
                                          const char* s2);
 | 
			
		||||
 | 
			
		||||
// The helper function for {ASSERT|EXPECT}_STRCASEEQ.
 | 
			
		||||
//
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperSTRCASEEQ(const char* s1_expression,
 | 
			
		||||
                                              const char* s2_expression,
 | 
			
		||||
                                              const char* s1, const char* s2);
 | 
			
		||||
                                              const char* s1,
 | 
			
		||||
                                              const char* s2);
 | 
			
		||||
 | 
			
		||||
// The helper function for {ASSERT|EXPECT}_STRNE.
 | 
			
		||||
//
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression,
 | 
			
		||||
                                          const char* s2_expression,
 | 
			
		||||
                                          const char* s1, const char* s2);
 | 
			
		||||
                                          const char* s1,
 | 
			
		||||
                                          const char* s2);
 | 
			
		||||
 | 
			
		||||
// The helper function for {ASSERT|EXPECT}_STRCASENE.
 | 
			
		||||
//
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperSTRCASENE(const char* s1_expression,
 | 
			
		||||
                                              const char* s2_expression,
 | 
			
		||||
                                              const char* s1, const char* s2);
 | 
			
		||||
                                              const char* s1,
 | 
			
		||||
                                              const char* s2);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Helper function for *_STREQ on wide strings.
 | 
			
		||||
//
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperSTREQ(const char* s1_expression,
 | 
			
		||||
                                          const char* s2_expression,
 | 
			
		||||
                                          const wchar_t* s1, const wchar_t* s2);
 | 
			
		||||
                                          const wchar_t* s1,
 | 
			
		||||
                                          const wchar_t* s2);
 | 
			
		||||
 | 
			
		||||
// Helper function for *_STRNE on wide strings.
 | 
			
		||||
//
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
 | 
			
		||||
GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression,
 | 
			
		||||
                                          const char* s2_expression,
 | 
			
		||||
                                          const wchar_t* s1, const wchar_t* s2);
 | 
			
		||||
                                          const wchar_t* s1,
 | 
			
		||||
                                          const wchar_t* s2);
 | 
			
		||||
 | 
			
		||||
}  // namespace internal
 | 
			
		||||
 | 
			
		||||
@@ -1685,40 +1711,32 @@ GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression,
 | 
			
		||||
//
 | 
			
		||||
// The {needle,haystack}_expr arguments are the stringified
 | 
			
		||||
// expressions that generated the two real arguments.
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(const char* needle_expr,
 | 
			
		||||
                                       const char* haystack_expr,
 | 
			
		||||
                                       const char* needle,
 | 
			
		||||
                                       const char* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(const char* needle_expr,
 | 
			
		||||
                                       const char* haystack_expr,
 | 
			
		||||
                                       const wchar_t* needle,
 | 
			
		||||
                                       const wchar_t* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(const char* needle_expr,
 | 
			
		||||
                                          const char* haystack_expr,
 | 
			
		||||
                                          const char* needle,
 | 
			
		||||
                                          const char* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(const char* needle_expr,
 | 
			
		||||
                                          const char* haystack_expr,
 | 
			
		||||
                                          const wchar_t* needle,
 | 
			
		||||
                                          const wchar_t* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(const char* needle_expr,
 | 
			
		||||
                                       const char* haystack_expr,
 | 
			
		||||
                                       const ::std::string& needle,
 | 
			
		||||
                                       const ::std::string& haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(const char* needle_expr,
 | 
			
		||||
                                          const char* haystack_expr,
 | 
			
		||||
                                          const ::std::string& needle,
 | 
			
		||||
                                          const ::std::string& haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const char* needle, const char* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const wchar_t* needle, const wchar_t* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const char* needle, const char* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const wchar_t* needle, const wchar_t* haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const ::std::string& needle, const ::std::string& haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const ::std::string& needle, const ::std::string& haystack);
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_STD_WSTRING
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(const char* needle_expr,
 | 
			
		||||
                                       const char* haystack_expr,
 | 
			
		||||
                                       const ::std::wstring& needle,
 | 
			
		||||
                                       const ::std::wstring& haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(const char* needle_expr,
 | 
			
		||||
                                          const char* haystack_expr,
 | 
			
		||||
                                          const ::std::wstring& needle,
 | 
			
		||||
                                          const ::std::wstring& haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const ::std::wstring& needle, const ::std::wstring& haystack);
 | 
			
		||||
GTEST_API_ AssertionResult IsNotSubstring(
 | 
			
		||||
    const char* needle_expr, const char* haystack_expr,
 | 
			
		||||
    const ::std::wstring& needle, const ::std::wstring& haystack);
 | 
			
		||||
#endif  // GTEST_HAS_STD_WSTRING
 | 
			
		||||
 | 
			
		||||
namespace internal {
 | 
			
		||||
@@ -1733,7 +1751,8 @@ namespace internal {
 | 
			
		||||
template <typename RawType>
 | 
			
		||||
AssertionResult CmpHelperFloatingPointEQ(const char* lhs_expression,
 | 
			
		||||
                                         const char* rhs_expression,
 | 
			
		||||
                                         RawType lhs_value, RawType rhs_value) {
 | 
			
		||||
                                         RawType lhs_value,
 | 
			
		||||
                                         RawType rhs_value) {
 | 
			
		||||
  const FloatingPoint<RawType> lhs(lhs_value), rhs(rhs_value);
 | 
			
		||||
 | 
			
		||||
  if (lhs.AlmostEquals(rhs)) {
 | 
			
		||||
@@ -1748,8 +1767,10 @@ AssertionResult CmpHelperFloatingPointEQ(const char* lhs_expression,
 | 
			
		||||
  rhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
 | 
			
		||||
         << rhs_value;
 | 
			
		||||
 | 
			
		||||
  return EqFailure(lhs_expression, rhs_expression,
 | 
			
		||||
                   StringStreamToString(&lhs_ss), StringStreamToString(&rhs_ss),
 | 
			
		||||
  return EqFailure(lhs_expression,
 | 
			
		||||
                   rhs_expression,
 | 
			
		||||
                   StringStreamToString(&lhs_ss),
 | 
			
		||||
                   StringStreamToString(&rhs_ss),
 | 
			
		||||
                   false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1759,7 +1780,8 @@ AssertionResult CmpHelperFloatingPointEQ(const char* lhs_expression,
 | 
			
		||||
GTEST_API_ AssertionResult DoubleNearPredFormat(const char* expr1,
 | 
			
		||||
                                                const char* expr2,
 | 
			
		||||
                                                const char* abs_error_expr,
 | 
			
		||||
                                                double val1, double val2,
 | 
			
		||||
                                                double val1,
 | 
			
		||||
                                                double val2,
 | 
			
		||||
                                                double abs_error);
 | 
			
		||||
 | 
			
		||||
// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
 | 
			
		||||
@@ -1767,7 +1789,9 @@ GTEST_API_ AssertionResult DoubleNearPredFormat(const char* expr1,
 | 
			
		||||
class GTEST_API_ AssertHelper {
 | 
			
		||||
 public:
 | 
			
		||||
  // Constructor.
 | 
			
		||||
  AssertHelper(TestPartResult::Type type, const char* file, int line,
 | 
			
		||||
  AssertHelper(TestPartResult::Type type,
 | 
			
		||||
               const char* file,
 | 
			
		||||
               int line,
 | 
			
		||||
               const char* message);
 | 
			
		||||
  ~AssertHelper();
 | 
			
		||||
 | 
			
		||||
@@ -1781,7 +1805,9 @@ class GTEST_API_ AssertHelper {
 | 
			
		||||
  // re-using stack space even for temporary variables, so every EXPECT_EQ
 | 
			
		||||
  // reserves stack space for another AssertHelper.
 | 
			
		||||
  struct AssertHelperData {
 | 
			
		||||
    AssertHelperData(TestPartResult::Type t, const char* srcfile, int line_num,
 | 
			
		||||
    AssertHelperData(TestPartResult::Type t,
 | 
			
		||||
                     const char* srcfile,
 | 
			
		||||
                     int line_num,
 | 
			
		||||
                     const char* msg)
 | 
			
		||||
        : type(t), file(srcfile), line(line_num), message(msg) { }
 | 
			
		||||
 | 
			
		||||
@@ -1859,14 +1885,15 @@ class WithParamInterface {
 | 
			
		||||
 private:
 | 
			
		||||
  // Sets parameter value. The caller is responsible for making sure the value
 | 
			
		||||
  // remains alive and unchanged throughout the current test.
 | 
			
		||||
  static void SetParam(const ParamType* parameter) { parameter_ = parameter; }
 | 
			
		||||
  static void SetParam(const ParamType* parameter) {
 | 
			
		||||
    parameter_ = parameter;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Static value used for accessing parameter during a test lifetime.
 | 
			
		||||
  static const ParamType* parameter_;
 | 
			
		||||
 | 
			
		||||
  // TestClass must be a subclass of WithParamInterface<T> and Test.
 | 
			
		||||
  template <class TestClass>
 | 
			
		||||
  friend class internal::ParameterizedTestFactory;
 | 
			
		||||
  template <class TestClass> friend class internal::ParameterizedTestFactory;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
template <typename T>
 | 
			
		||||
@@ -1876,7 +1903,8 @@ const T* WithParamInterface<T>::parameter_ = nullptr;
 | 
			
		||||
// WithParamInterface, and can just inherit from ::testing::TestWithParam.
 | 
			
		||||
 | 
			
		||||
template <typename T>
 | 
			
		||||
class TestWithParam : public Test, public WithParamInterface<T> {};
 | 
			
		||||
class TestWithParam : public Test, public WithParamInterface<T> {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Macros for indicating success/failure in test code.
 | 
			
		||||
 | 
			
		||||
@@ -1961,7 +1989,8 @@ class TestWithParam : public Test, public WithParamInterface<T> {};
 | 
			
		||||
  GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
 | 
			
		||||
                      GTEST_NONFATAL_FAILURE_)
 | 
			
		||||
#define ASSERT_TRUE(condition) \
 | 
			
		||||
  GTEST_TEST_BOOLEAN_(condition, #condition, false, true, GTEST_FATAL_FAILURE_)
 | 
			
		||||
  GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
 | 
			
		||||
                      GTEST_FATAL_FAILURE_)
 | 
			
		||||
#define ASSERT_FALSE(condition) \
 | 
			
		||||
  GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
 | 
			
		||||
                      GTEST_FATAL_FAILURE_)
 | 
			
		||||
@@ -2013,8 +2042,8 @@ class TestWithParam : public Test, public WithParamInterface<T> {};
 | 
			
		||||
//   ASSERT_GT(records.size(), 0) << "There is no record left.";
 | 
			
		||||
 | 
			
		||||
#define EXPECT_EQ(val1, val2) \
 | 
			
		||||
  EXPECT_PRED_FORMAT2(                                                      \
 | 
			
		||||
      ::testing::internal::EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
 | 
			
		||||
  EXPECT_PRED_FORMAT2(::testing::internal:: \
 | 
			
		||||
                      EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
 | 
			
		||||
                      val1, val2)
 | 
			
		||||
#define EXPECT_NE(val1, val2) \
 | 
			
		||||
  EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
 | 
			
		||||
@@ -2028,8 +2057,8 @@ class TestWithParam : public Test, public WithParamInterface<T> {};
 | 
			
		||||
  EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
 | 
			
		||||
 | 
			
		||||
#define GTEST_ASSERT_EQ(val1, val2) \
 | 
			
		||||
  ASSERT_PRED_FORMAT2(                                                      \
 | 
			
		||||
      ::testing::internal::EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
 | 
			
		||||
  ASSERT_PRED_FORMAT2(::testing::internal:: \
 | 
			
		||||
                      EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
 | 
			
		||||
                      val1, val2)
 | 
			
		||||
#define GTEST_ASSERT_NE(val1, val2) \
 | 
			
		||||
  ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
 | 
			
		||||
@@ -2134,12 +2163,12 @@ class TestWithParam : public Test, public WithParamInterface<T> {};
 | 
			
		||||
                      val1, val2)
 | 
			
		||||
 | 
			
		||||
#define EXPECT_NEAR(val1, val2, abs_error)\
 | 
			
		||||
  EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, val1, val2, \
 | 
			
		||||
                      abs_error)
 | 
			
		||||
  EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
 | 
			
		||||
                      val1, val2, abs_error)
 | 
			
		||||
 | 
			
		||||
#define ASSERT_NEAR(val1, val2, abs_error)\
 | 
			
		||||
  ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, val1, val2, \
 | 
			
		||||
                      abs_error)
 | 
			
		||||
  ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
 | 
			
		||||
                      val1, val2, abs_error)
 | 
			
		||||
 | 
			
		||||
// These predicate format functions work on floating-point values, and
 | 
			
		||||
// can be used in {ASSERT|EXPECT}_PRED_FORMAT2*(), e.g.
 | 
			
		||||
@@ -2153,6 +2182,7 @@ GTEST_API_ AssertionResult FloatLE(const char* expr1, const char* expr2,
 | 
			
		||||
GTEST_API_ AssertionResult DoubleLE(const char* expr1, const char* expr2,
 | 
			
		||||
                                    double val1, double val2);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if GTEST_OS_WINDOWS
 | 
			
		||||
 | 
			
		||||
// Macros that test for HRESULT failure and success, these are only useful
 | 
			
		||||
@@ -2263,6 +2293,7 @@ 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.
 | 
			
		||||
@@ -2464,22 +2495,10 @@ TestInfo* RegisterTest(const char* test_suite_name, const char* test_name,
 | 
			
		||||
// namespace and has an all-caps name.
 | 
			
		||||
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_;
 | 
			
		||||
 | 
			
		||||
inline int RUN_ALL_TESTS() { return ::testing::UnitTest::GetInstance()->Run(); }
 | 
			
		||||
 | 
			
		||||
#ifdef ARDUINO
 | 
			
		||||
inline void gtest_setup() {
 | 
			
		||||
  // Since Arduino doesn't have a command line, fake out the argc/argv arguments
 | 
			
		||||
  int argc = 1;
 | 
			
		||||
  const auto arg0 = "PlatformIO";
 | 
			
		||||
  char* argv0 = const_cast<char*>(arg0);
 | 
			
		||||
  char** argv = &argv0;
 | 
			
		||||
 | 
			
		||||
  testing::InitGoogleTest(&argc, argv);
 | 
			
		||||
inline int RUN_ALL_TESTS() {
 | 
			
		||||
  return ::testing::UnitTest::GetInstance()->Run();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
inline void gtest_loop() { RUN_ALL_TESTS(); }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
GTEST_DISABLE_MSC_WARNINGS_POP_()  //  4251
 | 
			
		||||
 | 
			
		||||
#endif  // GTEST_INCLUDE_GTEST_GTEST_H_
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user