1. 24 Aug, 2020 1 commit
    • 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
  2. 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
  3. 28 Jul, 2020 1 commit
    • ofats's avatar
      Googletest export · c6430992
      ofats authored
      Stop using ADL for InvokeArgument action.
      
      PiperOrigin-RevId: 323234396
      c6430992
  4. 28 May, 2020 3 commits
    • dmauro's avatar
      Googletest export · 8f3854e2
      dmauro authored
      Rollback of warning on unused ACTION result change
      
      PiperOrigin-RevId: 313380971
      8f3854e2
    • Abseil Team's avatar
      Googletest export · 1397db9e
      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: 312108101
      1397db9e
    • Abseil Team's avatar
      Googletest export · 63713e1c
      Abseil Team authored
      Fix the ACTION* macros to allow for more than 10 arguments in the action.
      Only the first 10 will be passed as individual arguments as `argN`, but the rest
      can be accessed from the `args` tuple.
      
      PiperOrigin-RevId: 311542098
      63713e1c
  5. 01 May, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 95555251
      Abseil Team authored
      Rewrite ReturnNew action without using pump.
      
      PiperOrigin-RevId: 308219616
      95555251
  6. 24 Apr, 2020 1 commit
    • 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
  7. 31 Mar, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 61f010d7
      Abseil Team authored
      Do not use std::result_of as it was removed in C++20.
      
      PiperOrigin-RevId: 303783600
      61f010d7
  8. 28 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · fd538161
      Abseil Team authored
      Allow construction of an Action from a callable of zero args
      
      Action already allows construction from a callable with the same args as the mocked function, without needing to wrap the callable in Invoke. However, if you don't care about the arguments to the mocked function you need to either accept all of them or wrap your callable in InvokeWithoutArgs. This change makes both of those unnecessary, since it allows you to pass a no-args callable to Action directly.
      
      PiperOrigin-RevId: 296117034
      fd538161
  9. 07 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 22397f28
      Abseil Team authored
      Add missing explicit keyword for gmock_Impl constructor.
      
      When switching to using GMOCK_PP in ACTION* macroses `explicit` keyword was
      missed in gmock_Impl constructor causing ClangTidy warnings in ACTION_P macro.
      
      PiperOrigin-RevId: 291159975
      22397f28
  10. 16 Jan, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 5336106b
      Abseil Team authored
      Use GMOCK_PP to create GMOCK_INTERNAL_ACTION macro.
      
      Create GMOCK_INTERNAL_ACTION macro that generates ACTION_P* macroses using
      GMOCK_PP.
      
      PiperOrigin-RevId: 289815906
      5336106b
    • Abseil Team's avatar
      Googletest export · 7a8591e6
      Abseil Team authored
      Use GMOCK_PP to generate args boilerplate.
      
      Move common args describing part to separate macroses that uses GMOCK_PP to
      generate sequences.
      
      PiperOrigin-RevId: 289655624
      7a8591e6
  11. 09 Jan, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · c901f67d
      Abseil Team authored
      Move part of functionality of Action* class to the base one. Reduce copypaste.
      
      Make constructor and conversion operator of Action* class independent of pump.
      
      PiperOrigin-RevId: 288907005
      c901f67d
    • Abseil Team's avatar
      Googletest export · 4b9c1691
      Abseil Team authored
      Use C++11 variadic templates for Invoke in gmock-generated-actions.h.
      
      Replace InvokeArgumentAdl with Invoke that uses C++11 variadic templates.
      
      PiperOrigin-RevId: 288449236
      4b9c1691
  12. 02 Jan, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · d0a52125
      Abseil Team authored
      Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h.
      
      Make InvokeArgumentAdl use variadic templates to generate its overloads instead
      of using pump.py syntax.
      
      PiperOrigin-RevId: 286267615
      d0a52125
    • Abseil Team's avatar
      Googletest export · 6f1a8ffd
      Abseil Team authored
      Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h.
      
      Make InvokeArgumentAdl use variadic templates to generate its overloads instead
      of using pump.py syntax.
      
      PiperOrigin-RevId: 286148805
      6f1a8ffd
  13. 13 Dec, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · d8eeb976
      Abseil Team authored
      Use C++11 variadic templates for ActionHelper in gmock-generated-actions.h.
      
      Make ActionHelper use variadic templates to generate Perform static member function specializations instead of using pump.py syntax.
      
      PiperOrigin-RevId: 284988441
      d8eeb976
  14. 22 Nov, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 717ce7fe
      Abseil Team authored
      Use standard C++11 integer types in gtest-port.h.
      
      Remove testing::internal::{Int,Uint}{32,64} in favor of types
      guaranteed to be in <cstdint> since C++11.
      
      Tests for built-in integer type coverage are switched from
      {Int,Uint}64 to [unsigned] long long, which is guaranteed by
      C++11 to exist and be at least 64-bit wide.
      
      PiperOrigin-RevId: 281565263
      717ce7fe
  15. 21 Nov, 2019 1 commit
  16. 31 Oct, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 2db3df9c
      Abseil Team authored
      Change variable name to match comment.
      
      PiperOrigin-RevId: 277713621
      2db3df9c
  17. 23 Oct, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 37f32278
      Abseil Team authored
      Add a matcher `testing::ReturnRoundRobin` which, on each call, returns the next element in the sequence, restarting at the beginning once it has reached the end.
      
      PiperOrigin-RevId: 276312136
      37f32278
  18. 22 Oct, 2019 1 commit
  19. 12 Sep, 2019 1 commit
  20. 20 Aug, 2019 1 commit
  21. 14 Aug, 2019 1 commit
  22. 30 Jul, 2019 1 commit
  23. 03 May, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 3f5b5b8f
      Abseil Team authored
      Remove special case for protocol buffers. It is no longer needed.
      
      PiperOrigin-RevId: 246550795
      3f5b5b8f
  24. 01 Apr, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · d9825431
      Abseil Team authored
      Remove support for "global" ::string and ::wstring types.
      This support existed for legacy codebases that existed from before namespaces
      where a thing. It is no longer necessary.
      
      PiperOrigin-RevId: 241335738
      d9825431
  25. 21 Mar, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · f1883b18
      Abseil Team authored
      Remove mention of unused type ProtocolMessage.
      
      PiperOrigin-RevId: 239242706
      f1883b18
  26. 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
  27. 14 Jan, 2019 1 commit
    • 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
  28. 02 Jan, 2019 1 commit
    • 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
  29. 20 Dec, 2018 2 commits
    • Abseil Team's avatar
      Googletest export · 9494c45e
      Abseil Team authored
      Use std::function to implement type erasure in Action, wrapping the legacy
      ActionInterface if necessary.
      
      This makes functors / std::function the primary way to implement Action; the
      existing ActionInterface implementations are handled through ActionAdaptor.
      The existing actions are not (yet) migrated though; they'll pay the cost of one
      additional indirection - but that should be negligible.
      
      PiperOrigin-RevId: 226126137
      9494c45e
    • 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
  30. 17 Dec, 2018 1 commit
    • Abseil Team's avatar
      Googletest export · 096fb37a
      Abseil Team authored
      Replace pump'd code for DoAll with variadic templates.
      
      PiperOrigin-RevId: 225584656
      096fb37a
  31. 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
  32. 20 Nov, 2018 2 commits
    • misterg's avatar
      Googletest export · bb7c0ecb
      misterg authored
      Silence C4100 msvc warning
      
      PiperOrigin-RevId: 222242329
      bb7c0ecb
    • Abseil Team's avatar
      Googletest export · aac18185
      Abseil Team authored
      Upgrade WithArgs family of actions to C++11.
      
      PiperOrigin-RevId: 221671690
      aac18185