1. 07 Jul, 2021 2 commits
    • Abseil Team's avatar
      Googletest export · 8306020a
      Abseil Team authored
      Add `Conditional` wrapper to gtest
      
      This follows an initial proposal for an 'EqIff` matcher. `Conditional` was considered more precise as an EqIff() matcher may suffer from `Iff` not being universally understood.
      
      PiperOrigin-RevId: 383407665
      8306020a
    • Abseil Team's avatar
      Googletest export · 977cffc4
      Abseil Team authored
      Introduce GTEST_FLAG_GET and GTEST_FLAG_SET macros.
      
      PiperOrigin-RevId: 382808313
      977cffc4
  2. 30 Jun, 2021 1 commit
    • Abseil Team's avatar
      Googletest export · 4ec4cd23
      Abseil Team authored
      Implement 'Contains(e).Times(n)' matcher modifier which allows to test for arbitrary occurrences including absence with Times(0).
      
      PiperOrigin-RevId: 382210276
      4ec4cd23
  3. 14 Jan, 2021 1 commit
    • 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
  4. 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
  5. 07 Dec, 2020 1 commit
    • 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
  6. 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
  7. 09 Nov, 2020 1 commit
    • 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
  8. 14 Oct, 2020 1 commit
    • 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
  9. 03 Aug, 2020 8 commits
  10. 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
  11. 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
  12. 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
  13. 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
  14. 28 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 909b1ccf
      Abseil Team authored
      Relax the implementation of MatcherCast to allow conversion of `Matcher<T>` to
      `Matcher<const T&>`. They have the same match signature.
      
      PiperOrigin-RevId: 297115843
      909b1ccf
  15. 11 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 6f5fd0d7
      Abseil Team authored
      Add gmock Matcher<std::string_view> specialization.
      
      PiperOrigin-RevId: 294443240
      6f5fd0d7
  16. 07 Feb, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 572e261b
      Abseil Team authored
      Fix use of reserved names.
      Minimize code duplication needed for explict-vs-nonexplicit constructor.
      
      PiperOrigin-RevId: 292555014
      572e261b
  17. 13 Jan, 2020 1 commit
  18. 12 Jan, 2020 1 commit
  19. 22 Nov, 2019 2 commits
  20. 22 Oct, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 011c4e23
      Abseil Team authored
      Rolling forward IsNan() matcher with fixes in test for -Wconversion issues. Use
      std::nanf and std::nanl where appropriate.
      PiperOrigin-RevId: 275523003
      011c4e23
  21. 18 Oct, 2019 1 commit
  22. 17 Oct, 2019 1 commit
  23. 27 Sep, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · cb3f7ce1
      Abseil Team authored
      Makes testing::ResultOf() work with non-copyable arguments.
      
      PiperOrigin-RevId: 271222632
      cb3f7ce1
  24. 23 Sep, 2019 1 commit
    • Krystian Kuzniarek's avatar
      remove GTEST_ARRAY_SIZE_ · e0d16aa3
      Krystian Kuzniarek authored
      This macro didn't work when an array was passed to a function by pointer,
      in which case the information about its size was lost.
      Better alternatives are:
      * std::extent<T>::value (compile-time)
      * std::array<T, N>::size() (compile-time)
      * std::distance(std::begin(array), std::end(array)) (run-time)
      e0d16aa3
  25. 26 Aug, 2019 1 commit
    • misterg's avatar
      Googletest export · 6a3d632f
      misterg authored
      Add tuple version of Optional() matches. This allows Optional() to be used in Pointwise matchers.
      
      PiperOrigin-RevId: 265501882
      6a3d632f
  26. 23 Aug, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · ed2eef65
      Abseil Team authored
      Add tuple version of Optional() matches. This allows Optional() to be used in Pointwise matchers.
      
      PiperOrigin-RevId: 265110864
      ed2eef65
  27. 20 Aug, 2019 1 commit
  28. 14 Aug, 2019 1 commit
  29. 30 Jul, 2019 1 commit
  30. 13 Jun, 2019 1 commit
  31. 06 Apr, 2019 1 commit
    • Enji Cooper's avatar
      clang: fix `-Wsign-conversion` errors · 3829b84e
      Enji Cooper authored
      
      
      Cast some values as their unsigned equivalents or `size_t` to match the
      parameter type used for the template object under test. Also, provide
      UInt32 equivalent delegate methods for some callers (with
      int-equivalents for backwards compatibility).
      
      This closes #2146.
      Signed-off-by: default avatarEnji Cooper <yaneurabeya@gmail.com>
      3829b84e