1. 26 Jan, 2021 4 commits
    • ofats's avatar
      Googletest export · 59dea67b
      ofats authored
      Remove scripts for code generating together with related files.
      
      PiperOrigin-RevId: 352805926
      59dea67b
    • Abseil Team's avatar
      Googletest export · 997c36c1
      Abseil Team authored
      Stop using pump for generating internal/custom/gmock-generated-actions.h
      
      PiperOrigin-RevId: 352660735
      997c36c1
    • Abseil Team's avatar
      Googletest export · 2c06d021
      Abseil Team authored
      Internal change
      
      PiperOrigin-RevId: 352607401
      2c06d021
    • Abseil Team's avatar
      Googletest export · 14098f20
      Abseil Team authored
      Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/
      
      PiperOrigin-RevId: 352558822
      14098f20
  2. 15 Jan, 2021 3 commits
    • Abseil Team's avatar
      Googletest export · d128fc82
      Abseil Team authored
      Fixes #3222, fixes #3225, closes #3223
      
      PiperOrigin-RevId: 352066131
      d128fc82
    • Abseil Team's avatar
      Googletest export · 41ecb102
      Abseil Team authored
      Internal change
      
      PiperOrigin-RevId: 352002166
      41ecb102
    • Abseil Team's avatar
      Googletest export · a2f906be
      Abseil Team authored
      Add "using is_gtest_matcher = void" to the DivisibleBy7Matcher example.
      
      PiperOrigin-RevId: 351797821
      a2f906be
  3. 14 Jan, 2021 3 commits
    • Abseil Team's avatar
      Googletest export · c13c27a5
      Abseil Team authored
      Change Matcher<T> to allow binding an implementation by value directly:
       - Drop the requirement of MatcherInterface. Doing manual type erasure avoid
         extra layers in many cases.
       - Avoid the adaptor for `MatcherInterface<T>` and `MatcherInterface<const T&>` mismatch.
       - Use a small object optimization when possible. This makes things like
         `_` and `Eq(1)` really cheap and do not require memory allocations.
       - Migrate some matchers to the new model to speed them up and to test the new framework. More matchers to come in future changes.
      
      PiperOrigin-RevId: 350580998
      c13c27a5
    • Abseil Team's avatar
      Googletest export · 48928352
      Abseil Team authored
      Move all docs into top-level docs/ directory
      
      PiperOrigin-RevId: 350211277
      48928352
    • Abseil Team's avatar
      Googletest export · 95a9bdd9
      Abseil Team authored
      Use an OrderedDict to store templated_types in the AST so that gmock knows how to properly construct the templated Mock class.
      
      This is necessary for functions that make use of the templated typename as an argument or return type.
      
      PiperOrigin-RevId: 349405731
      95a9bdd9
  4. 22 Dec, 2020 2 commits
    • 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
    • dmauro's avatar
      Googletest export · 4f6fa708
      dmauro authored
      Internal Change
      
      PiperOrigin-RevId: 347631521
      4f6fa708
  5. 12 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 18f8200e
      Abseil Team authored
      Add static_asserts that verify that no class hierarchy contains more than one
      of {NiceMock, NaggyMock, StrictMock}. This sort of nesting has always been
      disallowed, but this CL adds a compile-time check to prevent it.
      
      PiperOrigin-RevId: 347037822
      18f8200e
  6. 10 Dec, 2020 1 commit
    • dmauro's avatar
      Googletest export · fb4b3b6b
      dmauro authored
      Fix a missing Bazel build dependency
      
      PiperOrigin-RevId: 346783462
      fb4b3b6b
  7. 09 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · e5644f5f
      Abseil Team authored
      Introduce a new `Address` matcher to gmock.
      
      PiperOrigin-RevId: 346344591
      e5644f5f
  8. 07 Dec, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 8779937d
      Abseil Team authored
      Fix errata in gmock cook_book.md ON_CALL example
      
      PiperOrigin-RevId: 346165890
      8779937d
    • Abseil Team's avatar
      Googletest export · a02a5916
      Abseil Team authored
      Add a `Pointer` matcher as an analog to `Pointee`.
      
      Similar to `Pointee`, `Pointer` works with either raw or smart pointers and
      allows creating a matcher like Pointer(Eq(foo)) for smart pointers.
      
      PiperOrigin-RevId: 346164768
      a02a5916
  9. 03 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 93748a94
      Abseil Team authored
      Disable a gmock matcher test under MSVC 2015 (version 14) and earlier.  It interacts badly with Windows structured exceptions in a way we do not have the resources to investigate.  This test passes under MSVC 2017 and SEH.
      
      PiperOrigin-RevId: 345496734
      93748a94
  10. 02 Dec, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 1544828d
      Abseil Team authored
      Put "value" in SetArgReferee's description between code backticks.
      
      PiperOrigin-RevId: 344054658
      1544828d
  11. 13 Nov, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 9dce5e5d
      Abseil Team authored
      Use override instead of virtual for destructor
      
      https://google.github.io/styleguide/cppguide.html says: "Explicitly annotate overrides of virtual functions or virtual destructors with exactly one of an override or (less frequently) final specifier. Do not use virtual when declaring an override". The mocked class _should_ have a virtual destructor most of the times.
      
      PiperOrigin-RevId: 342082140
      9dce5e5d
  12. 12 Nov, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · a1adec79
      Abseil Team authored
      Use a tagged constructor for FlatTuple instead.
      Some versions of MSVC are getting confused with that constructor and generating invalid code.
      
      PiperOrigin-RevId: 342050957
      a1adec79
    • dmauro's avatar
      Googletest export · 336fd36f
      dmauro authored
      Rollback change from
      https://github.com/google/googletest/pull/1836. This change generates
      a script on Windows to actually run each test, but the script itself
      doesn't correctly report if the test passed.
      
      This change will "break tests" that were already broken on Windows,
      but weren't being reported as such.
      
      PiperOrigin-RevId: 341850671
      336fd36f
  13. 09 Nov, 2020 2 commits
    • 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
    • Abseil Team's avatar
      Googletest export · 0c400f67
      Abseil Team authored
      GMock: Make Truly explain when it fails
      
      I just wrote a test that had a matcher of the form
        Optional(AllOf(
          SomeMatcher,
          SomeOtherMatcher,
          Truly(SomePredicate)))
      
      The predicate failed, the other two matchers succeeded, and I got a hard-to-interpret message saying that the value in the optional "didn't match". Didn't match what?
      
      This change improves situations like that slightly by having Truly explain to its result listener when it fails. When there are multiple Trulys in an AllOf, there will be some ambiguity, but it will at least provide more information than right now.
      
      PiperOrigin-RevId: 341105141
      0c400f67
  14. 06 Nov, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · d89b3630
      Abseil Team authored
      Add support for ref qualifiers in MOCK_METHOD.
      
      PiperOrigin-RevId: 341047839
      d89b3630
  15. 05 Nov, 2020 1 commit
    • ofats's avatar
      Googletest export · 710f9c11
      ofats authored
      Rewrite InvokeArgument action without using pump.
      
      PiperOrigin-RevId: 340861582
      710f9c11
  16. 30 Oct, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 28287731
      Abseil Team authored
      Remove obsolete comment about non-const references.
      
      They used to be banned by the C++ style guide, but positions shifted, and this comment is no longer up to date.
      
      There's another reference (heh) on lines 816-819 to how gmock is a "general framework", with the possible implication that support for non-const references was weird in some way and only there to be "general", but I left it alone because I don't really feel I understand what it's saying.
      
      PiperOrigin-RevId: 339323428
      28287731
    • Chuck Atkins's avatar
      Bump CMake minimum to 2.8.12 · 32f4f52d
      Chuck Atkins authored
      32f4f52d
  17. 19 Oct, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 252ee42d
      Abseil Team authored
      Fix some issues when running fuse_gmock_files.
      
      The module path should be updated before importing `fuse_gtest_files`, since
      the script may not run from the googletest repo root. We also need a non-frozen
      set in order to track progress.
      
      PiperOrigin-RevId: 337380466
      252ee42d
  18. 15 Oct, 2020 1 commit
    • dmauro's avatar
      Googletest export · 3c95bf55
      dmauro authored
      Fixes build warnings from previous CL
      Add CMake to internal presubmit to prevent these
      
      PiperOrigin-RevId: 337325504
      3c95bf55
  19. 14 Oct, 2020 5 commits
    • Abseil Team's avatar
      Googletest export · a4621888
      Abseil Team authored
      Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings.
      PiperOrigin-RevId: 337165285
      a4621888
    • Abseil Team's avatar
      Googletest export · 8ccc5ec5
      Abseil Team authored
      Removing a semicolon that triggers a lint error in sample code.
      
      PiperOrigin-RevId: 337095451
      8ccc5ec5
    • Abseil Team's avatar
      Googletest export · d4df326d
      Abseil Team authored
      Use absl::StrCat in MATCHER_P example for consistency with https://abseil.io/tips/3
      
      PiperOrigin-RevId: 336878481
      d4df326d
    • Abseil Team's avatar
      Googletest export · d11c7617
      Abseil Team authored
      Suggest using generic lambdas for composing macros.
      
      Long chains of macros hurt legibility; generic lambdas are an easy way to abbreviate them, but are not an obvious solution to casual users.
      
      Compare:
      EXPECT_THAT(f(), ElementsAre(
          Property(&MyClass::foo, Property(&OtherClass::bar, Contains("x"))),
          Property(&MyClass::foo, Property(&OtherClass::bar, Contains("y"))));
      to:
      EXPECT_THAT(f(), ElementsAre(HasFooBar("x"), HasFooBar("y")));
      PiperOrigin-RevId: 336870137
      d11c7617
    • Abseil Team's avatar
      Googletest export · 72512aa8
      Abseil Team authored
      Make the code Python3 compliant.
      
      PiperOrigin-RevId: 336144198
      72512aa8
  20. 12 Oct, 2020 1 commit
  21. 07 Oct, 2020 1 commit
  22. 29 Sep, 2020 1 commit
  23. 27 Sep, 2020 1 commit
    • keshavgbpecdelhi's avatar
      Update cook_book.md · 1f3484a2
      keshavgbpecdelhi authored
      Please note that changing the default value for a type can make [you]* test.....
      Here "you" word doesn't make sense.. rather "your" seems to make it understandable.
      1f3484a2
  24. 24 Sep, 2020 1 commit