1. 24 Jan, 2023 1 commit
  2. 12 Oct, 2022 1 commit
  3. 27 Jun, 2022 1 commit
  4. 27 May, 2022 1 commit
  5. 13 May, 2022 1 commit
  6. 12 May, 2022 1 commit
  7. 11 May, 2022 2 commits
    • Aaron Jacobs's avatar
      gmock-actions: simplify Return and add better documentation. · 4224c770
      Aaron Jacobs authored
      Better document requirements, API decisions, and historical accidents. Make an
      implicit conversion easier and in a more appropriate place, and ease the burden
      of some assertions in the conversion operator. Stop using the legacy
      ActionInterface style for defining the action.
      
      PiperOrigin-RevId: 447894892
      Change-Id: I179e23ec2abdd9bf05c204ab18dbb492f1372e8e
      4224c770
    • Aaron Jacobs's avatar
      gmock-actions: make OnceAction public. · 6386897f
      Aaron Jacobs authored
      So that it can be referenced in conversion operators for actions that need to
      know the concrete return type.
      
      PiperOrigin-RevId: 447889344
      Change-Id: I643d3298bc8effd08741282a956c221f9d67d378
      6386897f
  8. 02 May, 2022 2 commits
    • Aaron Jacobs's avatar
      gmock-actions: remove a no-longer-necessary friend declaration. · 42ca3da5
      Aaron Jacobs authored
      PiperOrigin-RevId: 445940487
      Change-Id: I26952a72327db0d308bbe57ca4d1d91a0d7defc8
      42ca3da5
    • Aaron Jacobs's avatar
      gmock-actions: support ByMove in a specialization of ReturnAction. · 51767261
      Aaron Jacobs authored
      Rather than branching on whether the return type is ByMoveWrapper within
      ReturnAction itself, hoist the distinction to outside. This allows the main
      class template to be modified without worrying about this special case, which
      means we can stop using a shared pointer to the value (introduced as a
      linked_ptr in commit 3d1c78b2 to support ByMove) in this commit and simplify
      the class template further in a future commit with the eventual aim of directly
      supporting move-only result types.
      
      PiperOrigin-RevId: 445938943
      Change-Id: I7bc71ea301d5e493ac6ecbe57d62738a48a2721a
      51767261
  9. 27 Apr, 2022 1 commit
  10. 26 Apr, 2022 2 commits
  11. 22 Apr, 2022 1 commit
  12. 21 Apr, 2022 1 commit
  13. 13 Apr, 2022 1 commit
  14. 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
  15. 04 Apr, 2022 1 commit
    • Abseil Team's avatar
      gmock: improve SFINAE for actions involving arguments. · 137f67e9
      Abseil Team authored
      Avoid instantiating functions like std::get<index> for an out of range index
      when doing SFINAE on the invocability of the action itself.
      
      PiperOrigin-RevId: 439415110
      Change-Id: Ifc20285a6d526c34830870cd1910c2b2b92e1e81
      137f67e9
  16. 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
  17. 08 Mar, 2022 1 commit
    • Abseil Team's avatar
      Mark ACTION_Pn()-generated functions as must-use-result, adding non-compilation tests. · ae1b7ad4
      Abseil Team authored
      This catches when a client creates an action and discards it, thinking that the action has actually been applied to something.
      
      This will help people who make the mistake of defining, for example, both `void Use(Foo*, Bar)` and `ACTION_P(Use, bar) { Use(arg, bar); }` for later application to a Foo.  With such an overload, a client may then write `Use(bar);`, selecting the Action<> overload and being confused why nothing happens.
      
      This also catches when a client defines their own action in terms of an ACTION_P()-generated one, invokes the Action<>'s builder, and then fails to invoke the resulting action, thinking it's operating on the outer action's parameters.
      
      PiperOrigin-RevId: 433197479
      Change-Id: I98e4389150d01a5e753230113016d9fc38b1d260
      ae1b7ad4
  18. 26 Jan, 2022 1 commit
  19. 18 Jan, 2022 1 commit
  20. 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
  21. 16 Mar, 2021 1 commit
  22. 09 Mar, 2021 1 commit
  23. 18 Feb, 2021 2 commits
  24. 11 Feb, 2021 2 commits
  25. 09 Nov, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · fbef0711
      Abseil Team authored
      Change ACTION{,_Pn,_TEMPLATE} macros to build functors rather than ActionInterface<> subclasses, thus changing the Action<> wrappers they create to use the modernized (non-const) argument tuple type, allowing these macros to mutate their arguments.
      
      Functor-based Action<>s deep-copy the implementing object, so have the functors use a shared_ptr to the non-trivial state of bound value parameters.  No longer specialize that shared state to the particular action signature, encoding that information instead only in the instantiation of the implementation function.
      
      PiperOrigin-RevId: 341116208
      fbef0711
  26. 05 Nov, 2020 1 commit
    • ofats's avatar
      Googletest export · 710f9c11
      ofats authored
      Rewrite InvokeArgument action without using pump.
      
      PiperOrigin-RevId: 340861582
      710f9c11
  27. 20 Sep, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · bb272534
      Abseil Team authored
      Reduce the demangled name bloat of the Action constructor.
      
      PiperOrigin-RevId: 332234887
      bb272534
  28. 10 Sep, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · a4ab0abb
      Abseil Team authored
      Mark ACTION_Pn()-generated functions as must-use-result.
      
      This catches when a client creates an action and discards it, thinking that the action has actually been applied to something.
      
      This will help people who make the mistake of defining, for example, both `void Use(Foo*)` and `ACTION(Use) { Use(arg); }` for later application to a Foo.  With such an overload, a client may then write `Use();`, forgetting the param and being confused why nothing happens.
      
      This also catches when a client defines their own action in terms of an ACTION()-generated one, invokes the ACTION's builder, and then fails to invoke the resulting action, thinking it's operating on the outer action's parameters.
      
      PiperOrigin-RevId: 330614454
      a4ab0abb
  29. 27 Aug, 2020 1 commit
  30. 24 Aug, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · ec9be15b
      Abseil Team authored
      Workaround static assert in early versions libc++
      
      The error is "Attempted to construct a reference element in a tuple with an
      rvalue". We can fix this by putting everything into a non temporary tuple_args
      and implitly convert to the other tuple types. This avoids binding an rvalue
      reference to an lvalue reference inside the tuple.
      
      PiperOrigin-RevId: 327624990
      ec9be15b
    • Abseil Team's avatar
      Googletest export · fc1e7788
      Abseil Team authored
      Fix DoAll to work with move-only sink arguments.
      
      This changes types of the first n - 1 actions so that they only get a readonly
      view of the arguments. The last action will accept move only objects.
      
      PiperOrigin-RevId: 327031893
      fc1e7788
  31. 07 Aug, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 5a5caab3
      Abseil Team authored
      Fix DoAll to work with move-only sink arguments.
      
      This changes types of the first n - 1 actions so that they only get a readonly
      view of the arguments. The last action will accept move only objects.
      
      PiperOrigin-RevId: 324619666
      5a5caab3
    • Abseil Team's avatar
      Googletest export · 48ec6409
      Abseil Team authored
      Fix DoAll to work with move-only sink arguments.
      
      This changes types of the first n - 1 actions so that they only get a readonly
      view of the arguments. The last action will accept move only objects.
      
      PiperOrigin-RevId: 324600664
      48ec6409
  32. 28 Jul, 2020 1 commit
    • ofats's avatar
      Googletest export · c6430992
      ofats authored
      Stop using ADL for InvokeArgument action.
      
      PiperOrigin-RevId: 323234396
      c6430992
  33. 28 May, 2020 1 commit
    • dmauro's avatar
      Googletest export · 8f3854e2
      dmauro authored
      Rollback of warning on unused ACTION result change
      
      PiperOrigin-RevId: 313380971
      8f3854e2