1. 12 Aug, 2020 1 commit
  2. 07 Aug, 2020 3 commits
    • Abseil Team's avatar
      Googletest export · d0de618a
      Abseil Team authored
      Fixing exception-safety bug in googletest. Previously, if an exception was
      thrown during a call to a mock that would have triggered an error, the error
      was discarded.
      
      Fixes #2890
      
      PiperOrigin-RevId: 325017806
      d0de618a
    • 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 2 commits
    • Abseil Team's avatar
      Googletest export · 18a9aeda
      Abseil Team authored
      Internal documentation change.
      
      PiperOrigin-RevId: 323612305
      18a9aeda
    • ofats's avatar
      Googletest export · c6430992
      ofats authored
      Stop using ADL for InvokeArgument action.
      
      PiperOrigin-RevId: 323234396
      c6430992
  4. 15 Jul, 2020 1 commit
    • ofats's avatar
      Googletest export · eb660507
      ofats authored
      Move matchers' tests from *generated* to common files.
      
      PiperOrigin-RevId: 320954068
      eb660507
  5. 09 Jul, 2020 3 commits
    • ofats's avatar
      Googletest export · 08b78779
      ofats authored
      Replace ByRef with std::ref everywhere in docs.
      
      PiperOrigin-RevId: 320002303
      08b78779
    • Abseil Team's avatar
      Googletest export · 9aaaaf3f
      Abseil Team authored
      Cleanup: Error message grammar fix.
      PiperOrigin-RevId: 319992912
      9aaaaf3f
    • Abseil Team's avatar
      Googletest export · b9a8afcf
      Abseil Team authored
      Fix mismatch between `int` and `int32_t` in the parse function.
      On some platforms, those are different types.
      
      PiperOrigin-RevId: 319991862
      b9a8afcf
  6. 05 Jul, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 356f2d26
      Abseil Team authored
      Improve compatibility with strict compilers targeting Windows
      
      Remove an unnecessary ##, which could result in warnings about invalid preprocessor tokens when pasting to an initial '('
      
      PiperOrigin-RevId: 319277617
      356f2d26
  7. 26 Jun, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · e5613588
      Abseil Team authored
      Normalize headers in gMock docs
      
      Increasing Header levels on two pages, to better match other pages in the same directory.
      
      PiperOrigin-RevId: 318280892
      e5613588
    • Abseil Team's avatar
      Googletest export · 05c4a036
      Abseil Team authored
      Update auto_mock to support C++17 nested namespaces
      
      PiperOrigin-RevId: 318192214
      05c4a036
  8. 15 Jun, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 549c5d06
      Abseil Team authored
      gMock Cookbook: Fix incorrect comment about EXPECT priority order
      
      It's actually the last matching expectation that's used, not the first.
      
      PiperOrigin-RevId: 316490770
      549c5d06
  9. 10 Jun, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 13a433a9
      Abseil Team authored
      Change string matchers, like HasSubstr, to accept `string_view` input if available.
      
      PiperOrigin-RevId: 315726484
      13a433a9
  10. 05 Jun, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 210aab09
      Abseil Team authored
      gMock Cookbook: Slight rewording
      
      Remove "I" because documentation can have multiple authors. And remove unnecessary "guy".
      
      PiperOrigin-RevId: 314533746
      210aab09
  11. 03 Jun, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 26dadc22
      Abseil Team authored
      Note that EXPECT_EQ(actual_value, expected_value) or EXPECT_THAT(actual_value, Eq(expected_value)) is preferred over EXPECT_THAT(actual_value, expected_value).
      
      PiperOrigin-RevId: 314350852
      26dadc22
  12. 28 May, 2020 5 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 · 6b08b41e
      Abseil Team authored
      Spell out namespace for absl::Notification.
      
      PiperOrigin-RevId: 312300192
      6b08b41e
    • durandal's avatar
      Googletest export · a0669e07
      durandal authored
      Silence MSVC C4100 (unused formal parameter) to fix breakage from recently added testcase.  This warning is silenced in many files throughout googletest, but was not needed here until this testcase was added.
      
      PiperOrigin-RevId: 312121200
      a0669e07
    • 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
  13. 13 May, 2020 1 commit
  14. 07 May, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · a09ea700
      Abseil Team authored
      Fix `-Wgnu-zero-variadic-macro-arguments` in GMock
      
      Passing zero arguments to the variadic part of a macro is a GNU
      extension and triggers warnings when build projects using GMock with
      `-pedantic`.
      
       - Fix uses of `GMOCK_PP_INTERNAL_16TH` to always receive at least 17
      arguments. (this was triggered when `GMOCK_PP_NARG` or `GMOCK_PP_HAS_COMMA`
      were used with an argument containing no commas).
       - Fix `GMOCK_PP_HEAD` to append a dummy unused argument so that
      `GMOCK_PP_INTERNAL_HEAD` always has two arguments.
      
      PiperOrigin-RevId: 310414611
      a09ea700
  15. 01 May, 2020 5 commits
  16. 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
  17. 16 Apr, 2020 2 commits
    • Arthur O'Dwyer's avatar
      VariadicMatcher needs a non-defaulted move constructor for compile-time performance. · 4f002f1e
      Arthur O'Dwyer authored
      We are about to remove all uses of GTEST_DISALLOW_ASSIGN_ in favor
      of using the Rule of Zero everywhere.
      
      Unfortunately, if we use the Rule of Zero here, then when the compiler
      needs to figure out if VariadicMatcher is move-constructible, it will
      recurse down into `tuple<Args...>`, which on libstdc++ recurses too deeply.
      
          In file included from googlemock/test/gmock-matchers_test.cc:43:
          In file included from googlemock/include/gmock/gmock-matchers.h:258:
          In file included from /usr/include/c++/5.5.0/algorithm:60:
          In file included from /usr/include/c++/5.5.0/utility:70:
          In file included from /usr/include/c++/5.5.0/bits/stl_pair.h:59:
          In file included from /usr/include/c++/5.5.0/bits/move.h:57:
          /usr/bin/include/c++/5.5.0/type_traits:115:26: fatal error:
                recursive template instantiation exceeded maximum depth of 256
              : public conditional<_B1::value, _B1, _B2>::type
                                   ^
      
      The move constructor is the only problematic case, for some unknown reason.
      With GTEST_DISALLOW_ASSIGN_, the presence of a copy assignment operator
      causes the move constructor to be non-declared, thus non-defaulted, thus
      non-problematic. Without GTEST_DISALLOW_ASSIGN_, we have to do one of the
      following:
      
      - Default the copy constructor, so that the move constructor will be non-declared.
      
      - Define our own non-defaulted move constructor.
      
      ...except that doing the latter STILL did not work!
      Fortunately, the former (default the copy constructor, don't provide
      any move constructor) both works in practice and is semantically
      equivalent to the old code.
      4f002f1e
    • Abseil Team's avatar
      Googletest export · 373d72b6
      Abseil Team authored
      Fix link to "After clause". Sorry, reader, but this heading is in another document!
      
      PiperOrigin-RevId: 305947971
      373d72b6
  18. 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
  19. 21 Mar, 2020 3 commits
  20. 18 Mar, 2020 2 commits
  21. 17 Mar, 2020 1 commit
    • dmauro's avatar
      Googletest export · c43f7100
      dmauro authored
      Use a polymorphic matcher instead of the GreaterThan<int> test matcher
      to fix the sign-comparison warning on MSVC.
      
      PiperOrigin-RevId: 301163657
      c43f7100