1. 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
  2. 01 May, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · fb5d9b66
      Abseil Team authored
      Fix comment that describes how to test against nullopt.
      
      PiperOrigin-RevId: 307448375
      fb5d9b66
  3. 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
  4. 16 Apr, 2020 1 commit
    • 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
  5. 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
  6. 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
  7. 07 Feb, 2020 5 commits
    • Abseil Team's avatar
      Googletest export · 41b5f149
      Abseil Team authored
      Get rid of gmock-generated-matchers.h and gmock-generated-matchers.h.pump.
      
      Stop using pump for MATCHER* macroses generation.
      
      PiperOrigin-RevId: 293878808
      41b5f149
    • Abseil Team's avatar
      Googletest export · 4f660912
      Abseil Team authored
      Fix std::move to std::forward where appropriate to support reference types.
      
      PiperOrigin-RevId: 292923058
      4f660912
    • 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
    • Abseil Team's avatar
      Googletest export · d6ce39ed
      Abseil Team authored
      Create implementation macroses for matchers to move variadic parameters to the
      end of parameters list.
      
      To save backward compatibility, old macroses will be still taking `description`
      parameter as the last one. But they will use INTERNAL macro that takes
      `description` as the second parameter.
      
      PiperOrigin-RevId: 291724469
      d6ce39ed
    • Abseil Team's avatar
      Googletest export · 87061810
      Abseil Team authored
      Move part of functionality of Matcher* class to the base one. Reduce copypaste.
      
      Make constructor and conversion operator of Matcher* class independent of pump.
      
      PiperOrigin-RevId: 291405510
      87061810
  8. 21 Jan, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · d01e356e
      Abseil Team authored
      Allow copying of the string in MatchAndExplain.
      
      Otherwise, conversions from std::string_view to std::string will fail as being
      explicit
      
      PiperOrigin-RevId: 290301103
      d01e356e
  9. 02 Jan, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 306f3754
      Abseil Team authored
      Explicitly default copy constructor in BoundSecondMatcher
      
      Since C++11, implicit defaulting of copy constructors is deprecated for types
      with user-defined copy assignment operators, so we should explicitly default the
      copy constructor of BoundSecondMatcher.
      
      PiperOrigin-RevId: 287587847
      306f3754
  10. 22 Nov, 2019 3 commits
  11. 02 Nov, 2019 1 commit
  12. 31 Oct, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · e2fc3a9c
      Abseil Team authored
      Tolerate std::string's explicit copy construction from std::string_view.
      
      PiperOrigin-RevId: 277583394
      e2fc3a9c
  13. 29 Oct, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 755f853c
      Abseil Team authored
      Avoid temporary matcher instances.
      They are unnecessary and can be relatively more expensive than the rest of the
      algorithm.
      
      PiperOrigin-RevId: 277084853
      755f853c
  14. 22 Oct, 2019 2 commits
    • Abseil Team's avatar
      Googletest export · 611a321a
      Abseil Team authored
      Remove bool_constant in favor of std::integral_constant<bool, ...>;
      The one non-trivial use of bool_constant has been changed to have significantly
      fewer template specializations.
      
      PiperOrigin-RevId: 275842490
      611a321a
    • 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
  15. 18 Oct, 2019 1 commit
  16. 17 Oct, 2019 1 commit
  17. 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
  18. 16 Sep, 2019 2 commits
  19. 06 Sep, 2019 1 commit
  20. 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
  21. 24 Aug, 2019 1 commit
  22. 23 Aug, 2019 2 commits
    • 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
    • kuzkry's avatar
      Googletest export · db1b7399
      kuzkry authored
      Merge b8ca465e73ac0954a0c9eec2a84bdd8913d5763b into 90a443f9
      
      Closes #2396
      
      COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2396 from kuzkry:custom-type-traits-true/false_type-and-bool_constant b8ca465e73ac0954a0c9eec2a84bdd8913d5763b
      PiperOrigin-RevId: 265064856
      db1b7399
  23. 20 Aug, 2019 1 commit
  24. 14 Aug, 2019 1 commit
  25. 13 Aug, 2019 1 commit
  26. 30 Jul, 2019 1 commit
  27. 09 Apr, 2019 1 commit
  28. 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
  29. 23 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · fdc59ffd
      Abseil Team authored
      Add AllOfArray matcher that verifies a value matches all member of some array/container/list/set/..., e.g:
      EXPECT_THAT(1, AnyOfArray({1, 2, 3}))
      In the simplest form this is identical to AnyOf(1, 2, 3). But unlike that one it works on containers.
      
      Add AnyOfArray matcher that verifies a value matches any member of some
      array/container/list/set/...
      
      PiperOrigin-RevId: 230403653
      fdc59ffd
  30. 14 Jan, 2019 1 commit
    • Abseil Team's avatar
      Googletest export · 9acd065a
      Abseil Team authored
      Add move-only argument support to almost all remaining matchers.
      
      PiperOrigin-RevId: 229030728
      9acd065a
  31. 08 Jan, 2019 1 commit
    • misterg's avatar
      Googletest export · f31bf1d3
      misterg authored
      Replace testing::internal::ImplicitlyConvertible with std::is_convertible
      Fixes #2054
      
      PiperOrigin-RevId: 228334305
      f31bf1d3