1. 13 Feb, 2019 4 commits
  2. 12 Feb, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 28a96d18
      Abseil Team authored
      Fix matcher comparisons for std::reference_wrapper.
      
      The googletest docs indicate that std::reference_wrapper should be used to for
      objects that should not be copied by the matcher (in fact, the ByRef() function
      is basically the same as a call to std::cref).
      
      However, for many types (such as std::string), the overloaded operator== will
      not resolve correctly. Specifically, this is problematic if operator== depends
      on template argument deduction, where the same type is named on LHS and RHS.
      
      Because template argument deduction happens before any implict conversions for
      purposes of overload resolution, attempting to compare T with
      std::reference_wrapper<T> simply looks like a comparison of unlike types.
      
      For exapmle, std::reference_wrapper<std::string> is implicitly convertible to
      'const std::string&', which would be able to choose an overload specialization
      of operator==. However, the implicit conversion can only happen after template
      argument deduction for operator==, so a specialization that would other be an
      applicable overload is never considered.
      
      Note also that this change only affects matchers. There are good reasons that
      matchers may need to transparently hold a std::reference_wrapper. Other
      comparisons (like EXPECT_EQ, et. al.) don't need to capture a reference: they
      don't need to defer evaluation (as in googlemock), and they don't need to avoid
      copies (as the call chain of matchers does).
      
      PiperOrigin-RevId: 232499175
      28a96d18
  3. 04 Feb, 2019 1 commit
    • misterg's avatar
      Googletest export · 52ea4f7b
      misterg authored
      Mark legacy _TEST_CASE_ macros as deprecated
      
      PiperOrigin-RevId: 232303251
      52ea4f7b
  4. 01 Feb, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 0ea2d8f8
      Abseil Team authored
      Fix stack overflow in AnyOfArray tests.
      
      PiperOrigin-RevId: 231881125
      0ea2d8f8
  5. 23 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · fdc59ffd
      Abseil Team authored
      Add AllOfArray matcher that verifies a value matches all member of some array/container/list/set/..., e.g:
      EXPECT_THAT(1, AnyOfArray({1, 2, 3}))
      In the simplest form this is identical to AnyOf(1, 2, 3). But unlike that one it works on containers.
      
      Add AnyOfArray matcher that verifies a value matches any member of some
      array/container/list/set/...
      
      PiperOrigin-RevId: 230403653
      fdc59ffd
  6. 18 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 9518a574
      Abseil Team authored
      Fix mocking method arguments with templated copy constructors.
      
      A previous change removed workarounds for old compilers from googletest and googlemock. Unfortunately, a bit of code that started as a workaround for Symbian's C++ compiler is still needed to avoid copy/move constructor ambiguity when mocking functions with certain argument types.
      
      The test case added by this CL is extracted from Chrome's codebase, and was discovered while attempting to roll googletest.
      
      PiperOrigin-RevId: 229801765
      9518a574
  7. 17 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 0adeadd2
      Abseil Team authored
      Refactor the `Invoke` and `InvokeWithoutArgs` actions:
       - Replace pump'd classes and functions with templates.
       - Make the polymorphic actions be polymorphic functors instead.
       - Fix Invoke(Callback*) to work with subclasses of the callbacks, instead of trying to diagnose that in gmock_doctor.
      
      PiperOrigin-RevId: 229604112
      0adeadd2
  8. 14 Jan, 2019 2 commits
    • Abseil Team's avatar
      Googletest export · 9acd065a
      Abseil Team authored
      Add move-only argument support to almost all remaining matchers.
      
      PiperOrigin-RevId: 229030728
      9acd065a
    • Abseil Team's avatar
      Googletest export · 097407fd
      Abseil Team authored
      Deduplicate testing::ReferenceWrapper with std::reference_wrapper.
      Minor cleanups in matchers_test.
      
      PiperOrigin-RevId: 229022872
      097407fd
  9. 08 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 216c37f0
      Abseil Team authored
      Drop generated file gmock-generated-internal-utils.h.
      
      PiperOrigin-RevId: 228232195
      216c37f0
  10. 02 Jan, 2019 2 commits
    • misterg's avatar
      Googletest export · 14c2fba7
      misterg authored
      Internal Change
      
      PiperOrigin-RevId: 227575279
      14c2fba7
    • Abseil Team's avatar
      Googletest export · f8b1c1af
      Abseil Team authored
      Remove the #ifs for old, unsupported and buggy compilers:
      * old versions of GCC & MSVC
      * Symbian
      
      PiperOrigin-RevId: 227116941
      f8b1c1af
  11. 21 Dec, 2018 1 commit
    • Abseil Team's avatar
      Googletest export · 34a99e54
      Abseil Team authored
      Get rid of code generation for NiceMock / StrictMock.
      They got small enough that it doesn't make sense to generate them.
      
      PiperOrigin-RevId: 226455689
      34a99e54
  12. 20 Dec, 2018 1 commit
    • Abseil Team's avatar
      Googletest export · e26a3fa1
      Abseil Team authored
      Unifdef c++11-related macros from googletest now that it requires C++11.
      
      PiperOrigin-RevId: 225905601
      e26a3fa1
  13. 17 Dec, 2018 3 commits
    • misterg's avatar
      Googletest export · 9ab640ce
      misterg authored
      Suppress C4503 for MCVS , again
      
      PiperOrigin-RevId: 225895719
      9ab640ce
    • misterg's avatar
      Googletest export · 7515e399
      misterg authored
      Suppress C4503 for MCVS
      
      PiperOrigin-RevId: 225871050
      7515e399
    • Abseil Team's avatar
      Googletest export · 1ec20f87
      Abseil Team authored
      Allow container matchers to accept move-only containers.
      
      PiperOrigin-RevId: 225667441
      1ec20f87
  14. 13 Dec, 2018 1 commit
  15. 12 Dec, 2018 1 commit
    • Abseil Team's avatar
      Googletest export · 6ef59138
      Abseil Team authored
      The gmock matchers have a concept of MatchAndExpain; where the details of the
      matching are written to a "result listener". A matcher can avoid creating
      expensive debug info by checking result_listener->IsInterested(); but,
      unfortunately, the default matcher code (called from EXPECT_THAT) is always
      "interested".
      
      This change implements EXPECT_THAT matching to first run the matcher in a "not
      interested" mode; and then run it a second time ("interested") only if the
      match fails.
      
      PiperOrigin-RevId: 225036073
      6ef59138
  16. 11 Dec, 2018 2 commits
    • misterg's avatar
      Googletest export · 6cbd3753
      misterg authored
      rollback of 224929783
      
      PiperOrigin-RevId: 225008559
      6cbd3753
    • Abseil Team's avatar
      Googletest export · 06bb8d4d
      Abseil Team authored
      The gmock matchers have a concept of MatchAndExpain; where the details of the
      matching are written to a "result listener". A matcher can avoid creating
      expensive debug info by checking result_listener->IsInterested(); but,
      unfortunately, the default matcher code (called from EXPECT_THAT) is always
      "interested".
      
      This change implements EXPECT_THAT matching to first run the matcher in a "not
      interested" mode; and then run it a second time ("interested") only if the
      match fails.
      
      PiperOrigin-RevId: 224929783
      06bb8d4d
  17. 04 Dec, 2018 1 commit
    • Abseil Team's avatar
      Googletest export · 3d71ab4c
      Abseil Team authored
      Deduce SizeType for SizeIs() from the return value of the size() member function
      
      PiperOrigin-RevId: 223835674
      3d71ab4c
  18. 03 Dec, 2018 2 commits
    • Abseil Team's avatar
      Googletest export · 26743363
      Abseil Team authored
      Applied fixes for ClangTidy modernize-use-override and modernize-use-using.
      
      PiperOrigin-RevId: 223800219
      26743363
    • Abseil Team's avatar
      Googletest export · a42cdf2a
      Abseil Team authored
      Replace pump'd Args() matcher with variadic templates.
      
      PiperOrigin-RevId: 223794430
      a42cdf2a
  19. 20 Nov, 2018 7 commits
  20. 15 Nov, 2018 1 commit
  21. 10 Nov, 2018 1 commit
  22. 07 Nov, 2018 1 commit
    • krzysio's avatar
      Googletest export · 105579a6
      krzysio authored
      Improve Bazel build files.
      
      New target gtest_prod allows access to the FRIEND_TEST macro without depending on the entirety of GTest in production executables. Additionally, duplicate config_setting rules were removed and formatting was adjusted.
      
      PiperOrigin-RevId: 220279205
      105579a6
  23. 31 Oct, 2018 1 commit
    • misterg's avatar
      Googletest export · e857f9cd
      misterg authored
      Remove scoped_ptr replace with std::unique_ptr
      
      PiperOrigin-RevId: 219291284
      e857f9cd
  24. 29 Oct, 2018 1 commit
    • misterg's avatar
      Googletest export · 80b43d90
      misterg authored
      Remove linked_ptr and use std::shared_ptr instead
      
      PiperOrigin-RevId: 219129336
      80b43d90
  25. 28 Oct, 2018 1 commit