1. 21 Apr, 2023 1 commit
  2. 11 Apr, 2023 1 commit
    • Abseil Team's avatar
      Fix FunctionMocker compilation slowdown in 9d21db9e · 8fa9461c
      Abseil Team authored
      The slowdown appears to be due to an implicit conversion of distinct (yet semantically identical) lambdas to `std::function`. Lifting out the lambdas into functors that don't get re-instantiated reduces compilation times by nearly half.
      
      Fixes #4156
      
      PiperOrigin-RevId: 523447948
      Change-Id: Ib0ae0761a54d7b1f2b706b14b2858eedf47e2297
      8fa9461c
  3. 05 Jan, 2023 1 commit
  4. 08 Nov, 2022 1 commit
  5. 21 Oct, 2022 2 commits
  6. 20 Oct, 2022 1 commit
  7. 01 Jun, 2022 1 commit
    • Derek Mauro's avatar
      Work around a maybe-uninitialized warning under GCC 12 · 0320f517
      Derek Mauro authored
      Some Mock constructors insert the pointer to the Mock itself into a
      global registry. Since GCC cannot see how the pointer is used (only as
      an identifier), it cannot tell that the object doesn't need to be
      initialized at that point at all. Work around this by using uintptr_t
      instead.
      
      PiperOrigin-RevId: 452380347
      Change-Id: Ia5a493057ed90719de1d0efab71de9a8a08ddf8b
      0320f517
  8. 30 May, 2022 1 commit
  9. 27 May, 2022 1 commit
    • Aaron Jacobs's avatar
      gmock-spec-builders: add support for non-moveable types. · 9d21db9e
      Aaron Jacobs authored
      Do this by ripping out the "untyped perform action" machinery, which isn't
      necessary: we can simply template the entry point on the result type, and use
      RAII to avoid the need to special case void. This makes it easier to understand
      the code and harder to introduce type-related undefined behavior, to boot.
      PiperOrigin-RevId: 451493451
      Change-Id: I225305f83164752ca92f2916721972eafba33168
      9d21db9e
  10. 26 May, 2022 1 commit
    • Aaron Jacobs's avatar
      gmock-spec-builders: move a method to the header. · 56246cdb
      Aaron Jacobs authored
      In order to make the diff more readable in an upcoming commit that requires the
      method to be templated on the action's result type.
      
      PiperOrigin-RevId: 451157029
      Change-Id: I57beb7544efccd0459efb3a1f039ea45cd7c7602
      56246cdb
  11. 26 Apr, 2022 1 commit
  12. 22 Apr, 2022 1 commit
  13. 09 Apr, 2022 1 commit
    • Abseil Team's avatar
      Add support for move-only and &&-qualified actions in WillOnce. · a1cc8c55
      Abseil Team authored
      This provides a type-safe way for an action to express that it wants to be
      called only once, or to capture move-only objects. It is a generalization of
      the type system-evading hack in ByMove, with the improvement that it works for
      _any_ action (including user-defined ones), and correctly expresses that the
      action can only be used with WillOnce. I'll make existing actions benefit in a
      future commit.
      
      PiperOrigin-RevId: 440496139
      Change-Id: I4145d191cca5655995ef41360bb126c123cb41d3
      a1cc8c55
  14. 15 Mar, 2022 1 commit
    • Abseil Team's avatar
      Running clang-format over all of GoogleTest · b007c54f
      Abseil Team authored
      A few tests are examining code locations and looking af the resulting line
      numbers to verify that GoogleTest shows those to users correctly. Some of those
      locations change when clang-format is run. For those locations, I've wrapped
      portions in:
      // clang-format off
      ...
      // clang-format on
      
      There may be other locations that are currently not tickled by running
      clang-format.
      
      PiperOrigin-RevId: 434844712
      Change-Id: I3a9f0a6f39eff741c576b6de389bef9b1d11139d
      b007c54f
  15. 18 Jan, 2022 1 commit
  16. 24 Sep, 2021 1 commit
  17. 24 Jul, 2021 1 commit
  18. 22 Jul, 2021 1 commit
    • Abseil Team's avatar
      Googletest export · 96f4ce02
      Abseil Team authored
      Delete GOOGLETEST_CM.* tags from C++ code.
      
      PiperOrigin-RevId: 386268534
      96f4ce02
  19. 13 May, 2021 1 commit
    • Abseil Team's avatar
      Googletest export · 662fe38e
      Abseil Team authored
      Support templating MockFunction over function objects besides std::function.
      
      PiperOrigin-RevId: 373586967
      662fe38e
  20. 16 Mar, 2021 1 commit
  21. 18 Feb, 2021 1 commit
  22. 11 Feb, 2021 2 commits
  23. 22 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · ca4b7c9f
      Abseil Team authored
      Give each of Naggy/Nice/StrictMock a base class whose constructor runs before
      the mocked class's constructor, and a destructor that runs after the mocked
      class's destructor, so that any mock methods run in either the constructor or
      destructor use the same strictness as other calls.
      
      PiperOrigin-RevId: 348511612
      ca4b7c9f
  24. 24 Apr, 2020 2 commits
    • Arthur O'Dwyer's avatar
      Fix a -Wdeprecated warning. · 11b3cec1
      Arthur O'Dwyer authored
          gmock-spec-builders.h:503:3: error:
          definition of implicit copy constructor for 'Expectation' is deprecated
          because it has a user-declared destructor [-Werror,-Wdeprecated]
              ~Expectation();
              ^
      11b3cec1
    • Arthur O'Dwyer's avatar
      Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_. · 766ac2e1
      Arthur O'Dwyer authored
      None of these are strictly needed for correctness.
      A large number of them (maybe all of them?) trigger `-Wdeprecated`
      warnings on Clang trunk as soon as you try to use the implicitly
      defaulted (but deprecated) copy constructor of a class that has
      deleted its copy assignment operator.
      
      By declaring a deleted copy assignment operator, the old code
      also caused the move constructor and move assignment operator
      to be non-declared. This means that the old code never got move
      semantics -- "move-construction" would simply call the defaulted
      (but deprecated) copy constructor instead. With the new code,
      "move-construction" calls the defaulted move constructor, which
      I believe is what we want to happen. So this is a runtime
      performance optimization.
      
      Unfortunately we can't yet physically remove the definitions
      of these macros from gtest-port.h, because they are being used
      by other code internally at Google (according to zhangxy988).
      But no new uses should be added going forward.
      766ac2e1
  25. 18 Mar, 2020 1 commit
  26. 22 Nov, 2019 1 commit
  27. 06 Sep, 2019 1 commit
  28. 20 Aug, 2019 1 commit
  29. 14 Aug, 2019 1 commit
  30. 01 Aug, 2019 1 commit
  31. 30 Jul, 2019 1 commit
  32. 16 Jul, 2019 1 commit
    • Adam Badura's avatar
      Add missing <functional> include · 1f809607
      Adam Badura authored
      gmock-spec-builders.h uses std::function (in MockFunction) but did
      not include <functional> to provide it. Apparently, it worked since
      the header must have been included by something else but better be
      safe than sorry.
      1f809607
  33. 22 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 569fba4d
      Abseil Team authored
      Make internal FunctionMocker class final
      
      PiperOrigin-RevId: 230332778
      569fba4d
  34. 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
  35. 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
  36. 03 Dec, 2018 1 commit
    • 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